[Scummvm-cvs-logs] SF.net SVN: scummvm:[41240] scummvm/trunk/engines/agi
sev at users.sourceforge.net
sev at users.sourceforge.net
Sat Jun 6 19:39:43 CEST 2009
Revision: 41240
http://scummvm.svn.sourceforge.net/scummvm/?rev=41240&view=rev
Author: sev
Date: 2009-06-06 17:39:42 +0000 (Sat, 06 Jun 2009)
Log Message:
-----------
Fix bug #2434187: "SQ2: message not displayed, or vanishes too quickly"
Modified Paths:
--------------
scummvm/trunk/engines/agi/agi.cpp
scummvm/trunk/engines/agi/agi.h
scummvm/trunk/engines/agi/cycle.cpp
scummvm/trunk/engines/agi/graphics.cpp
scummvm/trunk/engines/agi/graphics.h
Modified: scummvm/trunk/engines/agi/agi.cpp
===================================================================
--- scummvm/trunk/engines/agi/agi.cpp 2009-06-06 17:39:13 UTC (rev 41239)
+++ scummvm/trunk/engines/agi/agi.cpp 2009-06-06 17:39:42 UTC (rev 41240)
@@ -309,6 +309,16 @@
_imageStack.clear();
}
+void AgiEngine::pause(uint32 msec) {
+ uint32 endTime = _system->getMillis() + msec;
+
+ while (_system->getMillis() < endTime) {
+ processEvents();
+ _system->updateScreen();
+ _system->delayMillis(10);
+ }
+}
+
void AgiEngine::recordImageStackCall(uint8 type, int16 p1, int16 p2, int16 p3,
int16 p4, int16 p5, int16 p6, int16 p7) {
ImageStackElement pnew;
Modified: scummvm/trunk/engines/agi/agi.h
===================================================================
--- scummvm/trunk/engines/agi/agi.h 2009-06-06 17:39:13 UTC (rev 41239)
+++ scummvm/trunk/engines/agi/agi.h 2009-06-06 17:39:42 UTC (rev 41240)
@@ -828,6 +828,8 @@
int16 p4, int16 p5, int16 p6, int16 p7);
void releaseImageStack();
+ void pause(uint32 msec);
+
Console *_console;
int agiInit();
Modified: scummvm/trunk/engines/agi/cycle.cpp
===================================================================
--- scummvm/trunk/engines/agi/cycle.cpp 2009-06-06 17:39:13 UTC (rev 41239)
+++ scummvm/trunk/engines/agi/cycle.cpp 2009-06-06 17:39:42 UTC (rev 41240)
@@ -40,6 +40,12 @@
VtEntry *v;
int i;
+ // Simulate slowww computer.
+ // Many effects rely on it.
+ _gfx->setCursor(_renderMode == Common::kRenderAmiga, true);
+ pause(2000);
+ _gfx->setCursor(_renderMode == Common::kRenderAmiga);
+
debugC(4, kDebugLevelMain, "*** room %d ***", n);
_sound->stopSound();
Modified: scummvm/trunk/engines/agi/graphics.cpp
===================================================================
--- scummvm/trunk/engines/agi/graphics.cpp 2009-06-06 17:39:13 UTC (rev 41239)
+++ scummvm/trunk/engines/agi/graphics.cpp 2009-06-06 17:39:42 UTC (rev 41240)
@@ -1013,7 +1013,14 @@
1,1,1,1,1,1,1,1,1,1,1,1,1
};
-void GfxMgr::setCursor(bool amigaStyleCursor) {
+void GfxMgr::setCursor(bool amigaStyleCursor, bool busy) {
+ if (busy) {
+ CursorMan.replaceCursorPalette(amigaMouseCursorPalette, 1, ARRAYSIZE(amigaMouseCursorPalette) / 4);
+ CursorMan.replaceCursor(busyAmigaMouseCursor, 13, 16, 7, 8, 0);
+
+ return;
+ }
+
if (!amigaStyleCursor) {
CursorMan.replaceCursorPalette(sciMouseCursorPalette, 1, ARRAYSIZE(sciMouseCursorPalette) / 4);
CursorMan.replaceCursor(sciMouseCursor, 11, 16, 1, 1, 0);
@@ -1155,6 +1162,8 @@
update.y1 = MAX_INT;
update.x2 = 0;
update.y2 = 0;
+
+ g_system->updateScreen();
}
/**
Modified: scummvm/trunk/engines/agi/graphics.h
===================================================================
--- scummvm/trunk/engines/agi/graphics.h 2009-06-06 17:39:13 UTC (rev 41239)
+++ scummvm/trunk/engines/agi/graphics.h 2009-06-06 17:39:42 UTC (rev 41240)
@@ -92,7 +92,7 @@
void putBlock(int x1, int y1, int x2, int y2);
void gfxSetPalette();
- void setCursor(bool amigaStyleCursor = false);
+ void setCursor(bool amigaStyleCursor = false, bool busy = false);
void setCursorPalette(bool amigaStylePalette = false);
int keypress();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list