Make some code-execution changes to allow early initilisation of GUI.

svn-id: r3748
This commit is contained in:
James Brown 2002-03-14 13:57:28 +00:00
parent a5d424aa18
commit fa9cc1d341
6 changed files with 120 additions and 21 deletions

30
sdl.cpp
View file

@ -62,7 +62,7 @@ void updatePalette(Scumm *s) {
int num = s->_palDirtyMax - first + 1;
int i;
byte *data = s->_currentPalette;
data += first*3;
for (i=0; i<num; i++,data+=3) {
colors[i].r = data[0];
@ -771,6 +771,29 @@ void initGraphics(Scumm *s, bool fullScreen, unsigned int scaleFactor) {
#undef main
#endif
void launcherLoop() {
int last_time, new_time;
int delta = 0;
last_time = SDL_GetTicks();
gui.saveLoadDialog();
do {
updateScreen(&scumm);
new_time = SDL_GetTicks();
waitForTimer(&scumm, delta * 15 + last_time - new_time);
last_time = SDL_GetTicks();
if (gui._active) {
gui.loop();
delta = 5;
} else
error("gui closed!");
} while(1);
};
int main(int argc, char* argv[]) {
int delta;
int last_time, new_time;
@ -810,11 +833,10 @@ int main(int argc, char* argv[]) {
#endif
scumm._gui = &gui;
gui.init(&scumm);
sound.initialize(&scumm, &snd_driv);
scumm.scummMain(argc, argv);
if (!(scumm._features & GF_SMALL_HEADER))
gui.init(&scumm);
gui.init(&scumm); /* Reinit GUI after loading a game */
last_time = SDL_GetTicks();
delta = 0;