summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Haley2011-03-02 00:51:07 +0000
committerJames Haley2011-03-02 00:51:07 +0000
commit66cf5dd1d216b71899831fe8cbb676057c5757f7 (patch)
treedfa278067cae6484f335a53adb99d4b9122583ed
parentaf19c6755955d7d397454cd2fd988270ee2f0561 (diff)
downloadchocolate-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.c16
-rw-r--r--src/strife/d_main.c3
-rw-r--r--src/strife/p_dialog.c2
-rw-r--r--src/strife/p_inter.c2
-rw-r--r--src/strife/p_mobj.c9
-rw-r--r--src/strife/p_user.c11
-rw-r--r--src/strife/r_things.c2
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];