ref: df6affc8398428bad666f8de73f11d02698e86ef
parent: 10408d83e5f53cd8b61a45b42ffb22d983f4975a
author: Fabian Greffrath <[email protected]>
date: Tue Nov 26 16:26:55 EST 2019
doom: revert erroneous part of code That is, remove the part that checks if the map just finished is MAP33 to omit drawing the par time if this is the case. While it is true that no par time for MAP33 is drawn in Vanilla Doom, this isn't because there is a condition that checks for it, but because the par time for MAP33 is read from beyond the cpars[] array and the four bytes following it are interpreted as a negative 32-bit integer. The WI_drawTime() function, however, returns early if the time it is supposed to draw is negative. This can be easily checked by using DEHACKED to change the GAMMALVL0 string so that its first four bytes are interpreted as a positive 32-bit integer, e.g. by replacing it with " " (four spaces). Then, even Vanilla Doom (e.g. DOOM2.EXE) will start to draw a par time when MAP33 is finished but will eventually end up drawing the "SUCKS!" patch. This may be regarded as the second part of commit 00d2024fe, it reverts another part of commit e1f113aec.
--- a/src/doom/wi_stuff.c
+++ b/src/doom/wi_stuff.c
@@ -1474,12 +1474,7 @@
if (wbs->epsd < 3)
{
V_DrawPatch(SCREENWIDTH/2 + SP_TIMEX, SP_TIMEY, par);
-
- // Emulation: don't draw partime value if map33
- if (gamemode != commercial || wbs->last != NUMCMAPS)
- {
- WI_drawTime(SCREENWIDTH - SP_TIMEX, SP_TIMEY, cnt_par);
- }
+ WI_drawTime(SCREENWIDTH - SP_TIMEX, SP_TIMEY, cnt_par);
}
}