diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 31ecc92ca..7e87cdfc9 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1292,20 +1292,23 @@ static void CL_LoadReceivedSavegame(boolean reloading) // load a base level if (P_LoadNetGame(reloading)) { - CON_LogMessage(va(M_GetText("Map is now \"%s"), G_BuildMapName(gamemap))); - - if (strlen(mapheaderinfo[gamemap-1]->lvlttl) > 0) + if (!reloading) { - CON_LogMessage(va(": %s", mapheaderinfo[gamemap-1]->lvlttl)); - if (strlen(mapheaderinfo[gamemap-1]->zonttl) > 0) - CON_LogMessage(va(" %s", mapheaderinfo[gamemap-1]->zonttl)); - else if (!(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE)) - CON_LogMessage(M_GetText(" Zone")); - if (mapheaderinfo[gamemap-1]->actnum > 0) - CON_LogMessage(va(" %d", mapheaderinfo[gamemap-1]->actnum)); - } + CON_LogMessage(va(M_GetText("Map is now \"%s"), G_BuildMapName(gamemap))); - CON_LogMessage("\"\n"); + if (strlen(mapheaderinfo[gamemap-1]->lvlttl) > 0) + { + CON_LogMessage(va(": %s", mapheaderinfo[gamemap-1]->lvlttl)); + if (strlen(mapheaderinfo[gamemap-1]->zonttl) > 0) + CON_LogMessage(va(" %s", mapheaderinfo[gamemap-1]->zonttl)); + else if (!(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE)) + CON_LogMessage(M_GetText(" Zone")); + if (mapheaderinfo[gamemap-1]->actnum > 0) + CON_LogMessage(va(" %d", mapheaderinfo[gamemap-1]->actnum)); + } + + CON_LogMessage("\"\n"); + } } else { diff --git a/src/hardware/hw_bsp.c b/src/hardware/hw_bsp.c index 4db69ff8b..df0b7113e 100644 --- a/src/hardware/hw_bsp.c +++ b/src/hardware/hw_bsp.c @@ -589,7 +589,7 @@ static void loading_status(void) sprintf(s, "%d%%", (++ls_percent)<<1); x = BASEVIDWIDTH/2; y = BASEVIDHEIGHT/2; - V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31); // Black background to match fade in effect + V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol); // Black background to match fade in effect //V_DrawPatchFill(W_CachePatchName("SRB2BACK",PU_CACHE)); // SRB2 background, ehhh too bright. M_DrawTextBox(x-58, y-8, 13, 1); V_DrawString(x-50, y, V_YELLOWMAP, "Loading..."); diff --git a/src/p_saveg.c b/src/p_saveg.c index 0561d365a..0a5da687f 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -4496,7 +4496,8 @@ static inline boolean P_NetUnArchiveMisc(boolean reloading) // tell the sound code to reset the music since we're skipping what // normally sets this flag - mapmusflags |= MUSIC_RELOADRESET; + if (!reloading) + mapmusflags |= MUSIC_RELOADRESET; G_SetGamestate(READINT16(save_p)); diff --git a/src/p_setup.c b/src/p_setup.c index 1a1583a0a..f5a03e628 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3943,9 +3943,12 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) // will be set by player think. players[consoleplayer].viewz = 1; + // Cancel all d_main.c fadeouts (keep fade in though). + if (reloadinggamestate) + wipegamestate = gamestate; // Don't fade if reloading the gamestate // Encore mode fade to pink to white // This is handled BEFORE sounds are stopped. - if (encoremode && !prevencoremode && !demo.rewinding) + else if (encoremode && !prevencoremode && !demo.rewinding) { if (rendermode != render_none) { @@ -4007,10 +4010,6 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) } } - // Cancel all d_main.c fadeouts (keep fade in though). - if (reloadinggamestate) - wipegamestate = gamestate; // Don't fade if reloading the gamestate - // Special stage & record attack retry fade to white // This is handled BEFORE sounds are stopped. if (G_GetModeAttackRetryFlag()) @@ -4030,13 +4029,14 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) } */ + // Make sure all sounds are stopped before Z_FreeTags. + S_StopSounds(); + S_ClearSfx(); + // Let's fade to white here // But only if we didn't do the encore startup wipe - if (!demo.rewinding) + if (!demo.rewinding && !reloadinggamestate) { - // Make sure all sounds are stopped before Z_FreeTags. - S_StopSounds(); - S_ClearSfx(); // Fade out music here. Deduct 2 tics so the fade volume actually reaches 0. // But don't halt the music! S_Start will take care of that. This dodges a MIDI crash bug. @@ -4204,10 +4204,9 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) { P_InitCamera(); memset(localaiming, 0, sizeof(localaiming)); + K_InitDirector(); } - K_InitDirector(); - wantedcalcdelay = wantedfrequency*2; indirectitemcooldown = 0; hyubgone = 0; @@ -4226,7 +4225,7 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) P_MapEnd(); // Remove the loading shit from the screen - if (rendermode != render_none && !(titlemapinaction || reloadinggamestate)) + if (rendermode != render_none && !titlemapinaction && !reloadinggamestate) F_WipeColorFill(levelfadecol); if (precache || dedicated) @@ -4237,7 +4236,7 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) if (!(netgame || multiplayer || demo.playback) && !majormods) mapvisited[gamemap-1] |= MV_VISITED; - else if (netgame || multiplayer) + else if (!demo.playback) mapvisited[gamemap-1] |= MV_MP; // you want to record that you've been there this session, but not permanently G_AddMapToBuffer(gamemap-1); @@ -4260,7 +4259,9 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) lastmaploaded = gamemap; // HAS to be set after saving!! } - if (grandprixinfo.gp == true) + if (reloadinggamestate) + ; + else if (grandprixinfo.gp == true) { if (grandprixinfo.initalize == true) {