ref: 13661026728eae8cc82d1241ec9d474d157de655
parent: 24996f5b0a32598d504dc2fe3748bc0907c26391
author: James Haley <[email protected]>
date: Thu Oct 31 06:59:50 EDT 2013
* Fix problem that crashes netdemos in ST_Drawer * Made attribution comment date formats consistent in st_stuff.c Subversion-branch: /branches/v2-branch Subversion-revision: 2737
--- a/src/strife/st_stuff.c
+++ b/src/strife/st_stuff.c
@@ -97,13 +97,13 @@
// or into the frame buffer?
// AMMO number pos.
-// haleyjd 09/01/10: [STRIFE] Adjusted.
+// haleyjd 20100901: [STRIFE] Adjusted.
#define ST_AMMOWIDTH 3
#define ST_AMMOX 311
#define ST_AMMOY 162
// HEALTH number pos.
-// haleyjd 09/01/10: [STRIFE] Adjusted.
+// haleyjd 20100901: [STRIFE] Adjusted.
#define ST_HEALTHWIDTH 3
#define ST_HEALTHX 79
#define ST_HEALTHY 162
@@ -134,9 +134,9 @@
// Dimensions given in characters.
#define ST_MSGWIDTH 52
-// haleyjd 08/31/10: [STRIFE]
+// haleyjd 20100831: [STRIFE]
// * Removed faces.
-// haleyjd 09/01/10:
+// haleyjd 20100901:
// * Removed DOOM pre-beta cruft.
// * Removed deathmatch frags/arms-related stuff.
// * Removed arms panel stuff.
@@ -191,7 +191,7 @@
static int st_lastarmortype;
static int st_lasthealth;
-// haleyjd 09/01/10: [STRIFE] sbar -> invback
+// haleyjd 20100901: [STRIFE] sbar -> invback
// main inventory background and other bits
static patch_t* invback; // main bar
static patch_t* stback; // multiplayer background
@@ -219,7 +219,7 @@
"I_GRN2"
};
-// haleyjd 09/01/10: [STRIFE] Replaced tallnum, shortnum w/inv fonts
+// haleyjd 20100901: [STRIFE] Replaced tallnum, shortnum w/inv fonts
// 0-9, green numbers
static patch_t* invfontg[10];
@@ -368,7 +368,7 @@
if(ev->type != ev_keydown)
return false;
- // haleyjd 09/27/10: No input allowed when the player is dead
+ // haleyjd 20100927: No input allowed when the player is dead
if(plyr->mo->health <= 0)
return false;
@@ -680,8 +680,8 @@
map = (buf[0] - '0') * 10 + buf[1] - '0';
- // haleyjd 09/01/10: Removed Chex Quest stuff.
- // haleyjd 09/15/10: Removed retail/registered/shareware stuff
+ // haleyjd 20100901: Removed Chex Quest stuff.
+ // haleyjd 20100915: Removed retail/registered/shareware stuff
// haleyjd 20130301: different bounds in v1.31
// Ohmygod - this is not going to work.
@@ -835,9 +835,9 @@
}
}
- // haleyjd 09/01/10: [STRIFE] Keys are handled on a popup
- // haleyjd 08/31/10: [STRIFE] No face widget
- // haleyjd 09/01/10: [STRIFE] Armor, weapons, frags, etc. handled elsewhere
+ // haleyjd 20100901: [STRIFE] Keys are handled on a popup
+ // haleyjd 20100831: [STRIFE] No face widget
+ // haleyjd 20100901: [STRIFE] Armor, weapons, frags, etc. handled elsewhere
// haleyjd: This is from the PRE-BETA! Left here because it amuses me ;)
// get rid of chat window if up because of message
@@ -850,7 +850,7 @@
//
// ST_doPaletteStuff
//
-// haleyjd 08/31/10: [STRIFE]
+// haleyjd 20100831: [STRIFE]
// * Changed radsuit palette handling for Strife nukagecount.
// * All other logic verified to be unmodified.
//
@@ -892,7 +892,7 @@
palette += STARTBONUSPALS;
}
- // haleyjd 08/31/10: [STRIFE] Flash green when in nukage, not when has
+ // haleyjd 20100831: [STRIFE] Flash green when in nukage, not when has
// an environment suit (a breathing sound is played to indicate that
// instead).
else if ( plyr->nukagecount > 16*TICRATE ||
@@ -922,7 +922,7 @@
//
// ST_drawNumFontY
//
-// haleyjd 09/19/10: [STRIFE] New function
+// haleyjd 20100919: [STRIFE] New function
// Draws a small yellow number for inventory etc.
//
void ST_drawNumFontY(int x, int y, int num)
@@ -941,7 +941,7 @@
//
// ST_drawNumFontY2
//
-// haleyjd 09/19/10: [STRIFE] New function
+// haleyjd 20100919: [STRIFE] New function
// As above, but turns negative numbers into zero.
//
void ST_drawNumFontY2(int x, int y, int num)
@@ -963,7 +963,7 @@
//
// ST_drawLine
//
-// haleyjd 09/20/10: [STRIFE] New function
+// haleyjd 20100920: [STRIFE] New function
// Basic horizontal line drawing routine used for the health bars.
//
void ST_drawLine(int x, int y, int len, int color)
@@ -982,7 +982,7 @@
//
// ST_doRefresh
//
-// haleyjd 09/20/10: Evidence more than suggests that Rogue moved all status bar
+// haleyjd 20100920: Evidence more than suggests that Rogue moved all status bar
// drawing down to this function.
//
void ST_doRefresh(void)
@@ -992,7 +992,7 @@
{
int firstinventory, icon_x, num_x, i, numdrawn;
- // haleyjd 09/19/10: No backscreen caching in Strife.
+ // haleyjd 20100919: No backscreen caching in Strife.
//V_UseBuffer(st_backing_screen);
// TODO: only sometimes drawing?
@@ -1010,7 +1010,10 @@
V_DrawPatch(ST_X, ST_Y, invback);
// draw multiplayer armor backdrop if netgame
- if(netgame)
+ // haleyjd 20131031: BUG - vanilla is accessing a NULL pointer here when
+ // playing back netdemos! It doesn't appear to draw anything, and there
+ // is no apparent ill effect on gameplay, so the best we can do is check.
+ if(netgame && stback)
V_DrawPatch(ST_X, 173, stback);
if(plyr->inventorycursor >= 6)
@@ -1050,15 +1053,15 @@
ST_drawNumFontY(num_x, 191, plyr->inventory[i].amount);
}
- // haleyjd 09/19/10: Draw sigil icon
+ // haleyjd 20100919: Draw sigil icon
if(plyr->weaponowned[wp_sigil])
V_DrawPatch(253, 175, invsigil[plyr->sigiltype]);
- // haleyjd 09/19/10: Draw ammo
+ // haleyjd 20100919: Draw ammo
if(st_lastammo < NUMAMMO)
V_DrawPatch(290, 180, invammo[st_lastammo]);
- // haleyjd 09/19/10: Draw armor
+ // haleyjd 20100919: Draw armor
if(plyr->armortype)
{
V_DrawPatch(2, 177, invarmor[plyr->armortype - 1]);
@@ -1065,7 +1068,7 @@
ST_drawNumFontY(20, 191, plyr->armorpoints);
}
- // haleyjd 09/20/10: Draw life bars.
+ // haleyjd 20100920: Draw life bars.
{
int barlength;
int lifecolor1;
@@ -1111,7 +1114,7 @@
}
} // end local-scope block
- // haleyjd 09/19/10: nope, not in Strife.
+ // haleyjd 20100919: nope, not in Strife.
//V_RestoreBuffer();
//V_CopyRect(ST_X, 0, st_backing_screen, ST_WIDTH, ST_HEIGHT, ST_X, ST_Y);
}
@@ -1317,7 +1320,7 @@
//
// ST_DrawExternal
//
-// haleyjd 09/01/10: [STRIFE] New function.
+// haleyjd 20100901: [STRIFE] New function.
// * Draws external portions of the status bar such the top bar and popups.
//
boolean ST_DrawExternal(void)
@@ -1343,7 +1346,7 @@
if(!st_displaypopup)
return false;
- // villsa [STRIFE] added 09/26/10
+ // villsa [STRIFE] added 20100926
if(st_showobjective)
{
V_DrawXlaPatch(0, 56, invpbak2);
@@ -1437,7 +1440,7 @@
int i;
char namebuf[9];
- // haleyjd 09/01/10: [STRIFE]
+ // haleyjd 20100901: [STRIFE]
// Load the numbers, green and yellow
for (i=0;i<10;i++)
{
@@ -1448,7 +1451,7 @@
callback(namebuf, &invfonty[i]);
}
- // haleyjd 09/19/10: load Sigil patches
+ // haleyjd 20100919: load Sigil patches
if(!isdemoversion)
{
for(i = 0; i < 5; i++)
@@ -1466,16 +1469,16 @@
callback(DEH_String("I_ARM2"), &invarmor[0]);
callback(DEH_String("I_ARM1"), &invarmor[1]);
- // haleyjd 09/19/10: [STRIFE]
+ // haleyjd 20100919: [STRIFE]
// * No face, but there is this patch, which appears behind the armor
DEH_snprintf(namebuf, 9, "STBACK0%d", consoleplayer + 1);
if(netgame)
callback(namebuf, &stback);
- // 09/01/10:
+ // 20100901:
// * Removed all unused DOOM stuff (arms, numbers, %, etc).
- // haleyjd 09/01/10: [STRIFE]: stbar -> invback, added new patches
+ // haleyjd 20100901: [STRIFE]: stbar -> invback, added new patches
// status bar background bits
callback(DEH_String("INVBACK"), &invback);
callback(DEH_String("INVTOP"), &invtop);
@@ -1524,7 +1527,7 @@
//
// ST_initData
//
-// haleyjd 09/01/10: [STRIFE]
+// haleyjd 20100901: [STRIFE]
// * Removed prebeta cruft, face stuff, keyboxes, and oldwe
//
void ST_initData(void)
@@ -1609,7 +1612,7 @@
{
ST_loadData();
- // haleyjd 09/19/10: This is not used by Strife. More memory for voices!
+ // haleyjd 20100919: This is not used by Strife. More memory for voices!
//st_backing_screen = (byte *) Z_Malloc(ST_WIDTH * ST_HEIGHT, PU_STATIC, 0);
}