diff options
author | James Haley | 2011-03-02 00:51:07 +0000 |
---|---|---|
committer | James Haley | 2011-03-02 00:51:07 +0000 |
commit | 66cf5dd1d216b71899831fe8cbb676057c5757f7 (patch) | |
tree | dfa278067cae6484f335a53adb99d4b9122583ed | |
parent | af19c6755955d7d397454cd2fd988270ee2f0561 (diff) | |
download | chocolate-doom-66cf5dd1d216b71899831fe8cbb676057c5757f7.tar.gz chocolate-doom-66cf5dd1d216b71899831fe8cbb676057c5757f7.tar.bz2 chocolate-doom-66cf5dd1d216b71899831fe8cbb676057c5757f7.zip |
Fixed automap background color, size of plrkilledmsg buffer, a bug which
caused the scanner to never be depleted from the inventory, and
emulation of seemingly inconsequential undefined behavior in
P_XYMovement via use of negative numspechit is currently addressed by
changing the branch condition to > 0.
Subversion-branch: /branches/strife-branch
Subversion-revision: 2286
-rw-r--r-- | src/strife/am_map.c | 16 | ||||
-rw-r--r-- | src/strife/d_main.c | 3 | ||||
-rw-r--r-- | src/strife/p_dialog.c | 2 | ||||
-rw-r--r-- | src/strife/p_inter.c | 2 | ||||
-rw-r--r-- | src/strife/p_mobj.c | 9 | ||||
-rw-r--r-- | src/strife/p_user.c | 11 | ||||
-rw-r--r-- | src/strife/r_things.c | 2 |
7 files changed, 21 insertions, 24 deletions
diff --git a/src/strife/am_map.c b/src/strife/am_map.c index 48c6b475..45b46c9b 100644 --- a/src/strife/am_map.c +++ b/src/strife/am_map.c @@ -54,12 +54,12 @@ // Automap colors -#define BACKGROUND 0 -#define WALLCOLORS 5 // villsa [STRIFE] -#define WALLRANGE 16 -#define TSWALLCOLORS 16 -#define FDWALLCOLORS 122 // villsa [STRIFE] -#define CDWALLCOLORS 116 +#define BACKGROUND 240 // haleyjd [STRIFE] +#define WALLCOLORS 5 // villsa [STRIFE] +#define WALLRANGE 16 +#define TSWALLCOLORS 16 +#define FDWALLCOLORS 122 // villsa [STRIFE] +#define CDWALLCOLORS 116 #define CTWALLCOLORS 19 // villsa [STRIFE] #define SPWALLCOLORS 243 // villsa [STRIFE] #define THINGCOLORS 233 // villsa [STRIFE] @@ -1382,14 +1382,14 @@ void AM_Drawer (void) // villsa [STRIFE] not used /*if(grid) - AM_drawGrid(GRIDCOLORS);*/ + AM_drawGrid(GRIDCOLORS);*/ AM_drawWalls(); AM_drawPlayers(); // villsa [STRIFE] draw things when map powerup is enabled if(cheating == 2 || plr->powers[pw_allmap] > 1) - AM_drawThings(); + AM_drawThings(); // villsa [STRIFE] not used //AM_drawCrosshair(XHAIRCOLORS); diff --git a/src/strife/d_main.c b/src/strife/d_main.c index c414a337..6367818a 100644 --- a/src/strife/d_main.c +++ b/src/strife/d_main.c @@ -1279,7 +1279,8 @@ static void D_InitIntroSequence(void) } /* // STRIFE-FIXME: This was actually displayed on a special textmode - // screen with ANSI color codes... + // screen with ANSI color codes... would require use of textlib to + // emulate properly... else { puts(DEH_String("Conversation ON")); diff --git a/src/strife/p_dialog.c b/src/strife/p_dialog.c index 55d886e5..01887686 100644 --- a/src/strife/p_dialog.c +++ b/src/strife/p_dialog.c @@ -733,7 +733,7 @@ boolean P_GiveItemToPlayer(player_t *player, int sprnum, mobjtype_t type) // mobjtypes and to implement missing logic.
switch(sprnum)
{
- case SPR_HELT: // STRIFE-TODO: verify - I believe this is related to a cheat
+ case SPR_HELT: // This is given only by the "DONNYTRUMP" cheat (aka Midas)
P_GiveInventoryItem(player, SPR_HELT, MT_TOKEN_TOUGHNESS);
P_GiveInventoryItem(player, SPR_GUNT, MT_TOKEN_ACCURACY);
diff --git a/src/strife/p_inter.c b/src/strife/p_inter.c index b5af6b13..4a7a173d 100644 --- a/src/strife/p_inter.c +++ b/src/strife/p_inter.c @@ -748,7 +748,7 @@ void P_TouchSpecialThing(mobj_t* special, mobj_t* toucher) } // villsa [STRIFE] -static char plrkilledmsg[76]; +static char plrkilledmsg[80]; // // KillMobj diff --git a/src/strife/p_mobj.c b/src/strife/p_mobj.c index f0743125..f8676a95 100644 --- a/src/strife/p_mobj.c +++ b/src/strife/p_mobj.c @@ -200,10 +200,15 @@ void P_XYMovement (mobj_t* mo) else if (mo->flags & MF_MISSILE) { // haley 20110203: [STRIFE] - // This modification allows missiles to activate shoot specials + // This modification allows missiles to activate shoot specials. + // *** BUG: In vanilla Strife the second condition is simply + // if(numspechit). However, numspechit can be negative, and + // when it is, this accesses spechit[-2]. This always causes the + // DOS exe to read from NULL, and the 'special' value there (in + // DOS 6.22 at least) is 0x70, which does nothing. if(blockingline && blockingline->special) P_ShootSpecialLine(mo, blockingline); - if(numspechit) + if(numspechit > 0) P_ShootSpecialLine(mo, spechit[numspechit-1]); // explode a missile diff --git a/src/strife/p_user.c b/src/strife/p_user.c index fa521ace..718eb119 100644 --- a/src/strife/p_user.c +++ b/src/strife/p_user.c @@ -884,19 +884,15 @@ boolean P_ItemBehavior(player_t* player, int item) { case SPR_ARM1: // 136 return P_GiveArmor(player, 2); - break; case SPR_ARM2: // 137 return P_GiveArmor(player, 1); - break; case SPR_SHD1: // 186 return P_GivePower(player, pw_invisibility); - break; case SPR_MASK: // 187 return P_GivePower(player, pw_ironfeet); - break; case SPR_PMUP: // 191 if(!player->powers[pw_allmap]) @@ -905,27 +901,22 @@ boolean P_ItemBehavior(player_t* player, int item) return false; } player->powers[pw_allmap] = PMUPTICS; - break; + return true; // haleyjd 20110228: repaired case SPR_STMP: // 180 return P_GiveBody(player, 10); - break; case SPR_MDKT: // 181 return P_GiveBody(player, 25); - break; case SPR_FULL: // 130 return P_GiveBody(player, 200); - break; case SPR_BEAC: // 135 return P_SpawnTeleportBeacon(player); - break; case SPR_TARG: // 108 return P_GivePower(player, pw_targeter); - break; } return false; diff --git a/src/strife/r_things.c b/src/strife/r_things.c index bda7a81c..a4a5595d 100644 --- a/src/strife/r_things.c +++ b/src/strife/r_things.c @@ -772,7 +772,7 @@ void R_DrawPSprite (pspdef_t* psp) vis->patch = lump; if (viewplayer->powers[pw_invisibility] > 4*32 - || viewplayer->powers[pw_invisibility] & 8) + || (viewplayer->powers[pw_invisibility] & 8)) { // shadow draw vis->colormap = spritelights[MAXLIGHTSCALE-1]; |