(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.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
peter1138 18 years ago
parent 8d175ccb13
commit c079c83eb6

@ -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);

@ -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 */

Loading…
Cancel
Save