Fix for dialogue from Stauf and Ego during puzzles.

svn-id: r35620
This commit is contained in:
Scott Thomas 2008-12-30 10:19:16 +00:00
parent f32f4e5cec
commit bc378bdb8f
3 changed files with 18 additions and 1 deletions

View File

@ -165,6 +165,9 @@ Common::Error GroovieEngine::go() {
checkCD();
// Game timer counter
uint16 tmr = 0;
// Initialize the CD
int cd_num = ConfMan.getInt("cdrom");
if (cd_num >= 0)
@ -217,9 +220,17 @@ Common::Error GroovieEngine::go() {
}
if (_waitingForInput) {
// Still waiting for input, just update the mouse and wait a bit more
// Still waiting for input, just update the mouse, game timer and then wait a bit more
_cursorMan->animate();
_system->updateScreen();
tmr++;
// Wait a little bit between increments. While mouse is moving, this triggers
// only negligably slower.
if (tmr > 4) {
_script.timerTick();
tmr = 0;
}
_system->delayMillis(50);
} else if (_graphicsMan->isFading()) {
// We're waiting for a fading to end, let the CPU rest

View File

@ -108,6 +108,10 @@ void Script::setDebugger(Debugger *debugger) {
_debugger = debugger;
}
void Script::timerTick() {
setVariable(0x103, _variables[0x103] + 1);
}
bool Script::loadScript(Common::String filename) {
// Try to open the script file
Common::File scriptfile;

View File

@ -46,6 +46,8 @@ public:
void setDebugger(Debugger *debugger);
void setVariable(uint16 varnum, byte value);
void timerTick();
bool loadScript(Common::String scriptfile);
void directGameLoad(int slot);
void step();