diff --git a/Source/diablo.cpp b/Source/diablo.cpp index 080e90356..e8d4d97ab 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -1464,7 +1464,11 @@ void LoadGameLevel(BOOL firstflag, int lvldir) InitThemes(); LoadAllGFX(); } else { + IncProgress(); + IncProgress(); InitMissileGFX(); + IncProgress(); + IncProgress(); } IncProgress(); @@ -1502,9 +1506,11 @@ void LoadGameLevel(BOOL firstflag, int lvldir) glMid1Seed[currlevel] = GetRndSeed(); InitMonsters(); glMid2Seed[currlevel] = GetRndSeed(); + IncProgress(); InitObjects(); InitItems(); CreateThemeRooms(); + IncProgress(); glMid3Seed[currlevel] = GetRndSeed(); InitMissiles(); InitDead(); @@ -1550,14 +1556,19 @@ void LoadGameLevel(BOOL firstflag, int lvldir) LoadSetMap(); IncProgress(); GetLevelMTypes(); + IncProgress(); InitMonsters(); + IncProgress(); InitMissileGFX(); + IncProgress(); InitDead(); + IncProgress(); FillSolidBlockTbls(); IncProgress(); if (lvldir == 5) GetPortalLvlPos(); + IncProgress(); for (i = 0; i < MAX_PLRS; i++) { if (plr[i].plractive && currlevel == plr[i].plrlevel) { @@ -1566,6 +1577,7 @@ void LoadGameLevel(BOOL firstflag, int lvldir) InitPlayer(i, firstflag); } } + IncProgress(); InitMultiView(); IncProgress(); @@ -1606,8 +1618,8 @@ void LoadGameLevel(BOOL firstflag, int lvldir) if (firstflag) { InitControlPan(); - IncProgress(); } + IncProgress(); if (leveltype != DTYPE_TOWN) { ProcessLightList(); ProcessVisionList(); diff --git a/Source/interfac.cpp b/Source/interfac.cpp index 4bb5c3753..130144b9e 100644 --- a/Source/interfac.cpp +++ b/Source/interfac.cpp @@ -24,7 +24,7 @@ void interface_msg_pump() BOOL IncProgress() { interface_msg_pump(); - sgdwProgress += 15; + sgdwProgress += 23; if ((DWORD)sgdwProgress > 534) sgdwProgress = 534; if (sgpBackCel) @@ -86,15 +86,18 @@ void ShowProgress(unsigned int uMsg) switch (uMsg) { case WM_DIABLOADGAME: + IncProgress(); IncProgress(); LoadGame(TRUE); IncProgress(); + IncProgress(); break; case WM_DIABNEWGAME: IncProgress(); FreeGameMem(); IncProgress(); pfile_remove_temp_files(); + IncProgress(); LoadGameLevel(TRUE, 0); IncProgress(); break; @@ -105,6 +108,7 @@ void ShowProgress(unsigned int uMsg) } else { DeltaSaveLevel(); } + IncProgress(); FreeGameMem(); currlevel++; leveltype = gnLevelTypeTbl[currlevel]; @@ -131,11 +135,13 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABSETLVL: SetReturnLvlPos(); + IncProgress(); if (gbMaxPlayers == 1) { SaveLevel(); } else { DeltaSaveLevel(); } + IncProgress(); setlevel = TRUE; leveltype = setlvltype; FreeGameMem(); @@ -144,11 +150,13 @@ void ShowProgress(unsigned int uMsg) IncProgress(); break; case WM_DIABRTNLVL: + IncProgress(); if (gbMaxPlayers == 1) { SaveLevel(); } else { DeltaSaveLevel(); } + IncProgress(); setlevel = FALSE; FreeGameMem(); IncProgress(); @@ -163,6 +171,7 @@ void ShowProgress(unsigned int uMsg) } else { DeltaSaveLevel(); } + IncProgress(); FreeGameMem(); GetPortalLevel(); IncProgress(); @@ -176,6 +185,7 @@ void ShowProgress(unsigned int uMsg) } else { DeltaSaveLevel(); } + IncProgress(); FreeGameMem(); currlevel = plr[myplr].plrlevel; leveltype = gnLevelTypeTbl[currlevel]; @@ -191,6 +201,7 @@ void ShowProgress(unsigned int uMsg) } else { DeltaSaveLevel(); } + IncProgress(); FreeGameMem(); currlevel = plr[myplr].plrlevel; leveltype = gnLevelTypeTbl[currlevel]; @@ -206,6 +217,7 @@ void ShowProgress(unsigned int uMsg) } else { DeltaSaveLevel(); } + IncProgress(); FreeGameMem(); currlevel = plr[myplr].plrlevel; leveltype = gnLevelTypeTbl[currlevel];