/** * Initialise the default colours (remaps and the likes), and load the main windows. */ void SetupColoursAndInitialWindow() { for (uint i = 0; i != 16; i++) { const byte *b = GetNonSprite(PALETTE_RECOLOUR_START + i, ST_RECOLOUR); assert(b); memcpy(_colour_gradient[i], b + 0xC6, sizeof(_colour_gradient[i])); } new MainWindow(&_main_window_desc); /* XXX: these are not done */ switch (_game_mode) { default: NOT_REACHED(); case GM_MENU: ShowSelectGameWindow(); ShowTutorialWindowOnceAfterInstall(); break; case GM_NORMAL: case GM_EDITOR: ShowVitalWindows(); break; } }
/** * Clean up the 'mess' of generation. That is, show windows again, reset * thread variables, and delete the progress window. */ static void CleanupGeneration() { _generating_world = false; if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE); /* Show all vital windows again, because we have hidden them */ if (_gw.threaded && _game_mode != GM_MENU) ShowVitalWindows(); _gw.active = false; _gw.proc = NULL; _gw.abortp = NULL; _gw.threaded = false; DeleteWindowById(WC_GENERATE_PROGRESS_WINDOW, 0); MarkWholeScreenDirty(); }
/** * Clean up the 'mess' of generation. That is, show windows again, reset * thread variables, and delete the progress window. */ static void CleanupGeneration() { _generating_world = false; SetMouseCursorBusy(false); /* Show all vital windows again, because we have hidden them */ if (_gw.threaded && _game_mode != GM_MENU) ShowVitalWindows(); SetModalProgress(false); _gw.proc = NULL; _gw.abortp = NULL; _gw.threaded = false; DeleteWindowByClass(WC_MODAL_PROGRESS); ShowFirstError(); MarkWholeScreenDirty(); }
~HighScoreWindow() { if (_game_mode != GM_MENU) ShowVitalWindows(); if (!_networking) DoCommandP(0, PM_PAUSED_NORMAL, 0, CMD_PAUSE); // unpause }