diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index b33b40542..1d9ee77eb 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -2658,7 +2658,8 @@ void G_DisplayRest(int32_t smoothratio) if (g_restorePalette < 2 || omovethingscnt+1 == g_moveThingsCount) { - P_SetGamePalette(pp,pp->palette,2+16); + // g_restorePalette < 0: reset tinting, too (e.g. when loading new game) + P_SetGamePalette(pp,pp->palette, 2 + (g_restorePalette>0)*16); g_restorePalette = 0; } else @@ -7443,7 +7444,7 @@ void G_HandleLocalKeys(void) CONTROL_ClearButton(gamefunc_See_Coop_View); screenpeek = connectpoint2[screenpeek]; if (screenpeek == -1) screenpeek = 0; - g_restorePalette = 1; + g_restorePalette = -1; } if ((g_netServer || ud.multimode > 1) && BUTTON(gamefunc_Show_Opponents_Weapon)) diff --git a/polymer/eduke32/source/menus.c b/polymer/eduke32/source/menus.c index 9d15bcda5..cb01ef9ab 100644 --- a/polymer/eduke32/source/menus.c +++ b/polymer/eduke32/source/menus.c @@ -3348,7 +3348,7 @@ cheat_for_port_credits: } else onvideomodechange(nbpp > 8); - g_restorePalette = 1; + g_restorePalette = -1; G_UpdateScreenArea(); setrendermode(nrend); diff --git a/polymer/eduke32/source/osdcmds.c b/polymer/eduke32/source/osdcmds.c index 1d355e10c..d9fd27dc4 100644 --- a/polymer/eduke32/source/osdcmds.c +++ b/polymer/eduke32/source/osdcmds.c @@ -733,7 +733,7 @@ void onvideomodechange(int32_t newmode) #endif setbrightness(ud.brightness>>2, palid, 0); - g_restorePalette = 1; + g_restorePalette = -1; g_crosshairSum = 0; } diff --git a/polymer/eduke32/source/premap.c b/polymer/eduke32/source/premap.c index a4ad499d3..4cda79f77 100644 --- a/polymer/eduke32/source/premap.c +++ b/polymer/eduke32/source/premap.c @@ -2099,7 +2099,7 @@ int32_t G_EnterLevel(int32_t g) for (i=g_numInterpolations-1; i>=0; i--) bakipos[i] = *curipos[i]; - g_restorePalette = 1; + g_restorePalette = -1; // mmulti_flushpackets(); diff --git a/polymer/eduke32/source/savegame.c b/polymer/eduke32/source/savegame.c index c3dd2f507..55d0a86b8 100644 --- a/polymer/eduke32/source/savegame.c +++ b/polymer/eduke32/source/savegame.c @@ -2621,6 +2621,7 @@ static void postloadplayer(int32_t savegamep) //3 P_UpdateScreenPal(g_player[myconnectindex].ps); + g_restorePalette = -1; //3.5 if (savegamep)