From 04e19dd942dbd40849a16e68a420d16ec3118925 Mon Sep 17 00:00:00 2001 From: helixhorned Date: Mon, 30 Jan 2012 21:18:59 +0000 Subject: [PATCH] Don't wait for pain tinting to subside when changing a base palette. This means that when e.g. emerging from water hurt will change the palette instantly, but because bit 16 is added to the P_SetGamePalette call, the tinting is retained. git-svn-id: https://svn.eduke32.com/eduke32@2303 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/source/game.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 72f0544a7..b33b40542 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -2650,14 +2650,15 @@ void G_DisplayRest(int32_t smoothratio) g_restorePalette = 1; // JBF 20040101 applyTint = 1; } + // reset a normal palette - else if (g_restorePalette) + if (g_restorePalette) { static uint32_t omovethingscnt; if (g_restorePalette < 2 || omovethingscnt+1 == g_moveThingsCount) { - P_SetGamePalette(pp,pp->palette,2); + P_SetGamePalette(pp,pp->palette,2+16); g_restorePalette = 0; } else @@ -2667,12 +2668,13 @@ void G_DisplayRest(int32_t smoothratio) } } // loogies courtesy of being snotted on - else if (pp->loogcnt > 0) + else if (pp->pals.f==0 && pp->loogcnt > 0) { palette_t lp = { 0, 64, 0, pp->loogcnt>>1 }; Bmemcpy(&tempFade, &lp, sizeof(palette_t)); applyTint = 1; } + if (tempFade.f > tempTint.f) Bmemcpy(&tempTint, &tempFade, sizeof(palette_t));