diff options
author | peter1138 <peter1138@openttd.org> | 2006-11-24 18:39:22 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-11-24 18:39:22 +0000 |
commit | c079c83eb65e8365680523f6fba676f9c41ec10a (patch) | |
tree | 55d15b28e028ea338db8ec11d3266151027da760 | |
parent | 8d175ccb136581de4fb77931b029841144fe3f52 (diff) | |
download | openttd-c079c83eb65e8365680523f6fba676f9c41ec10a.tar.xz |
(svn r7250) -Codechange: Shuffle sprite loading and character width caching around a bit. This reduces the number of times the sprites are loaded from 5 to 2, just for the intro game.
-rw-r--r-- | genworld.c | 7 | ||||
-rw-r--r-- | gfx.c | 3 | ||||
-rw-r--r-- | misc_gui.c | 1 | ||||
-rw-r--r-- | openttd.c | 13 |
4 files changed, 9 insertions, 15 deletions
diff --git a/genworld.c b/genworld.c index 2e1f003d5..9872270b0 100644 --- a/genworld.c +++ b/genworld.c @@ -252,18 +252,19 @@ void GenerateWorld(int mode, uint size_x, uint size_y) /* Make sure everything is done via OWNER_NONE */ _current_player = OWNER_NONE; + /* Load the right landscape stuff */ + GfxLoadSprites(); + LoadStringWidthTable(); + InitializeGame(IG_DATE_RESET, _gw.size_x, _gw.size_y); PrepareGenerateWorldProgress(); /* Re-init the windowing system */ ResetWindowSystem(); - LoadStringWidthTable(); /* Create toolbars */ SetupColorsAndInitialWindow(); - /* Load the right landscape stuff */ - GfxLoadSprites(); if (_network_dedicated || (_gw.thread = OTTDCreateThread(&_GenerateWorld, NULL)) == NULL) { DEBUG(misc, 1) ("[Sl] Cannot create savegame thread, reverting to single-threaded mode..."); @@ -1613,6 +1613,9 @@ void LoadStringWidthTable(void) { uint i; + /* Initialize the unicode to sprite mapping table */ + InitializeUnicodeGlyphMap(); + /* Normal font */ for (i = 0; i != 224; i++) { _stringwidth_table[FS_NORMAL][i] = GetGlyphWidth(FS_NORMAL, i + 32); diff --git a/misc_gui.c b/misc_gui.c index 3d721ca29..89ee4f216 100644 --- a/misc_gui.c +++ b/misc_gui.c @@ -1659,6 +1659,7 @@ static int32 ClickChangeClimateCheat(int32 p1, int32 p2) if (p1 == 4) p1 = 0; _opt.landscape = p1; GfxLoadSprites(); + LoadStringWidthTable(); MarkWholeScreenDirty(); return _opt.landscape; } @@ -281,9 +281,6 @@ static void LoadIntroGame(void) CLRBITS(_display_opt, DO_TRANS_BUILDINGS); // don't make buildings transparent in intro _opt_ptr = &_opt_newgame; - GfxLoadSprites(); - LoadStringWidthTable(); - // Setup main window ResetWindowSystem(); SetupColorsAndInitialWindow(); @@ -439,11 +436,6 @@ int ttd_main(int argc, char *argv[]) // This must be done early, since functions use the InvalidateWindow* calls InitWindowSystem(); - GfxLoadSprites(); - /* Initialize the unicode to sprite mapping table */ - InitializeUnicodeGlyphMap(); - LoadStringWidthTable(); - DEBUG(driver, 1) ("Loading drivers..."); LoadDriver(SOUND_DRIVER, _ini_sounddriver); LoadDriver(MUSIC_DRIVER, _ini_musicdriver); @@ -463,7 +455,6 @@ int ttd_main(int argc, char *argv[]) /* Make sure _patches is filled with _patches_newgame if we switch to a game directly */ if (_switch_mode != SM_NONE) { _opt = _opt_newgame; - GfxLoadSprites(); UpdatePatches(); } @@ -655,11 +646,8 @@ static void StartScenario(void) return; } - GfxLoadSprites(); - // Reinitialize windows ResetWindowSystem(); - LoadStringWidthTable(); SetupColorsAndInitialWindow(); @@ -1157,6 +1145,7 @@ bool AfterLoadGame(void) // Load the sprites GfxLoadSprites(); + LoadStringWidthTable(); /* Connect front and rear engines of multiheaded trains and converts * subtype to the new format */ |