diff options
| -rw-r--r-- | engines/adl/display.cpp | 8 | ||||
| -rw-r--r-- | engines/adl/display.h | 1 | 
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/adl/display.cpp b/engines/adl/display.cpp index 858d3ac20b..d05257792c 100644 --- a/engines/adl/display.cpp +++ b/engines/adl/display.cpp @@ -133,6 +133,8 @@ Display::Display() :  	_textBufSurface->create(DISPLAY_WIDTH * 2, DISPLAY_HEIGHT * 2, Graphics::PixelFormat::createFormatCLUT8());  	createFont(); + +	_startMillis = g_system->getMillis();  }  Display::~Display() { @@ -487,7 +489,11 @@ void Display::updateTextSurface() {  			r.translate(((c & 0x3f) % 16) * 7 * 2, (c & 0x3f) / 16 * 8 * 2);  			if (!(c & 0x80)) { -				if (!(c & 0x40) || ((g_system->getMillis() / 270) & 1)) +				// Blink text. We subtract _startMillis to make this compatible +				// with the event recorder, which returns offsetted values on +				// playback. +				const uint32 millisPassed = g_system->getMillis() - _startMillis; +				if (!(c & 0x40) || ((millisPassed / 270) & 1))  					r.translate(0, 4 * 8 * 2);  			} diff --git a/engines/adl/display.h b/engines/adl/display.h index bc27b7cb6b..e761e63f2e 100644 --- a/engines/adl/display.h +++ b/engines/adl/display.h @@ -102,6 +102,7 @@ private:  	Graphics::Surface *_font;  	uint _cursorPos;  	bool _showCursor; +	uint32 _startMillis;  };  } // End of namespace Adl  | 
