Fixed gui loop

svn-id: r3807
This commit is contained in:
Vincent Hamm 2002-03-24 00:44:28 +00:00
parent f5741df25c
commit 2a97cf0dde
2 changed files with 16 additions and 10 deletions

View file

@ -1072,7 +1072,7 @@ void Scumm::launch()
setupSound(); setupSound();
runScript(1,0,0,&_bootParam); // runScript(1,0,0,&_bootParam);
// _scummTimer = 0; // _scummTimer = 0;

24
sdl.cpp
View file

@ -953,11 +953,14 @@ int main(int argc, char* argv[]) {
scumm->launch(); scumm->launch();
_system.last_time = SDL_GetTicks();
scumm->runScript(1,0,0,&scumm->_bootParam);
// scumm->scummMain(argc, argv); // Todo: need to change that as well // scumm->scummMain(argc, argv); // Todo: need to change that as well
gui.init(scumm); /* Reinit GUI after loading a game */ gui.init(scumm); /* Reinit GUI after loading a game */
_system.last_time = SDL_GetTicks();
scumm->mainRun(); scumm->mainRun();
@ -1983,14 +1986,17 @@ void Scale_2xSaI (uint8 *srcPtr, uint32 srcPitch, uint8 * /* deltaPtr */,
int OSystem::waitTick(int delta) int OSystem::waitTick(int delta)
{ {
updateScreen(scumm); do
new_time = SDL_GetTicks(); {
waitForTimer(scumm, delta * 15 + last_time - new_time); updateScreen(scumm);
last_time = SDL_GetTicks(); new_time = SDL_GetTicks();
if (gui._active) { waitForTimer(scumm, delta * 15 + last_time - new_time);
gui.loop(); last_time = SDL_GetTicks();
delta = 5; if (gui._active) {
} gui.loop();
delta = 5;
}
}while(gui._active);
return(delta); return(delta);
} }