summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Howard2015-02-20 00:03:15 -0500
committerSimon Howard2015-02-20 00:03:15 -0500
commit1f5ce047ad6cb709f746b794b4a2dea9e2f89fb6 (patch)
tree273878bb2a6288122a4efd4f012dbbd611f82500
parent714d7a29397b44fcb2b1fef2d675d296cb984264 (diff)
downloadchocolate-doom-1f5ce047ad6cb709f746b794b4a2dea9e2f89fb6.tar.gz
chocolate-doom-1f5ce047ad6cb709f746b794b4a2dea9e2f89fb6.tar.bz2
chocolate-doom-1f5ce047ad6cb709f746b794b4a2dea9e2f89fb6.zip
Fix game code that makes false boolean assumptions.
Various bits of code assume that booleans are represented as 32-bit ints and that they can be assigned to from 32-bit values. This isn't true on all systems; fix code that does this to convert to boolean values properly. This is more progress towards fixing #509.
-rw-r--r--src/doom/p_inter.c15
-rw-r--r--src/doom/p_map.c2
-rw-r--r--src/doom/p_maputl.c2
-rw-r--r--src/heretic/p_map.c2
-rw-r--r--src/heretic/p_maputl.c2
-rw-r--r--src/hexen/p_map.c2
-rw-r--r--src/hexen/p_maputl.c2
-rw-r--r--src/hexen/p_spec.c2
-rw-r--r--src/strife/p_enemy.c4
-rw-r--r--src/strife/p_inter.c10
-rw-r--r--src/strife/p_map.c2
-rw-r--r--src/strife/p_maputl.c2
12 files changed, 26 insertions, 21 deletions
diff --git a/src/doom/p_inter.c b/src/doom/p_inter.c
index c9965799..633408fe 100644
--- a/src/doom/p_inter.c
+++ b/src/doom/p_inter.c
@@ -603,8 +603,9 @@ P_TouchSpecialThing
break;
case SPR_MGUN:
- if (!P_GiveWeapon (player, wp_chaingun, special->flags&MF_DROPPED) )
- return;
+ if (!P_GiveWeapon(player, wp_chaingun,
+ (special->flags & MF_DROPPED) != 0))
+ return;
player->message = DEH_String(GOTCHAINGUN);
sound = sfx_wpnup;
break;
@@ -631,15 +632,17 @@ P_TouchSpecialThing
break;
case SPR_SHOT:
- if (!P_GiveWeapon (player, wp_shotgun, special->flags&MF_DROPPED ) )
- return;
+ if (!P_GiveWeapon(player, wp_shotgun,
+ (special->flags & MF_DROPPED) != 0))
+ return;
player->message = DEH_String(GOTSHOTGUN);
sound = sfx_wpnup;
break;
case SPR_SGN2:
- if (!P_GiveWeapon (player, wp_supershotgun, special->flags&MF_DROPPED ) )
- return;
+ if (!P_GiveWeapon(player, wp_supershotgun,
+ (special->flags & MF_DROPPED) != 0))
+ return;
player->message = DEH_String(GOTSHOTGUN2);
sound = sfx_wpnup;
break;
diff --git a/src/doom/p_map.c b/src/doom/p_map.c
index e371869a..9d3086fd 100644
--- a/src/doom/p_map.c
+++ b/src/doom/p_map.c
@@ -357,7 +357,7 @@ boolean PIT_CheckThing (mobj_t* thing)
// check for special pickup
if (thing->flags & MF_SPECIAL)
{
- solid = thing->flags&MF_SOLID;
+ solid = (thing->flags & MF_SOLID) != 0;
if (tmflags&MF_PICKUP)
{
// can remove thing
diff --git a/src/doom/p_maputl.c b/src/doom/p_maputl.c
index 916f2b64..098c2c73 100644
--- a/src/doom/p_maputl.c
+++ b/src/doom/p_maputl.c
@@ -887,7 +887,7 @@ P_PathTraverse
int count;
- earlyout = flags & PT_EARLYOUT;
+ earlyout = (flags & PT_EARLYOUT) != 0;
validcount++;
intercept_p = intercepts;
diff --git a/src/heretic/p_map.c b/src/heretic/p_map.c
index 48db07e5..6f1e64d7 100644
--- a/src/heretic/p_map.c
+++ b/src/heretic/p_map.c
@@ -428,7 +428,7 @@ boolean PIT_CheckThing(mobj_t * thing)
// Check for special thing
if (thing->flags & MF_SPECIAL)
{
- solid = thing->flags & MF_SOLID;
+ solid = (thing->flags & MF_SOLID) != 0;
if (tmflags & MF_PICKUP)
{ // Can be picked up by tmthing
P_TouchSpecialThing(thing, tmthing); // Can remove thing
diff --git a/src/heretic/p_maputl.c b/src/heretic/p_maputl.c
index 577f527c..e2a71556 100644
--- a/src/heretic/p_maputl.c
+++ b/src/heretic/p_maputl.c
@@ -667,7 +667,7 @@ boolean P_PathTraverse(fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2,
int mapx, mapy, mapxstep, mapystep;
int count;
- earlyout = flags & PT_EARLYOUT;
+ earlyout = (flags & PT_EARLYOUT) != 0;
validcount++;
intercept_p = intercepts;
diff --git a/src/hexen/p_map.c b/src/hexen/p_map.c
index 11aa23e0..b1c542ca 100644
--- a/src/hexen/p_map.c
+++ b/src/hexen/p_map.c
@@ -661,7 +661,7 @@ boolean PIT_CheckThing(mobj_t * thing)
// Check for special thing
if (thing->flags & MF_SPECIAL)
{
- solid = thing->flags & MF_SOLID;
+ solid = (thing->flags & MF_SOLID) != 0;
if (tmflags & MF_PICKUP)
{ // Can be picked up by tmthing
P_TouchSpecialThing(thing, tmthing); // Can remove thing
diff --git a/src/hexen/p_maputl.c b/src/hexen/p_maputl.c
index a48ea8fa..dcc7d5d2 100644
--- a/src/hexen/p_maputl.c
+++ b/src/hexen/p_maputl.c
@@ -699,7 +699,7 @@ boolean P_PathTraverse(fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2,
int mapx, mapy, mapxstep, mapystep;
int count;
- earlyout = flags & PT_EARLYOUT;
+ earlyout = (flags & PT_EARLYOUT) != 0;
validcount++;
intercept_p = intercepts;
diff --git a/src/hexen/p_spec.c b/src/hexen/p_spec.c
index e2069fb9..d36d3e86 100644
--- a/src/hexen/p_spec.c
+++ b/src/hexen/p_spec.c
@@ -864,7 +864,7 @@ boolean P_ActivateLine(line_t * line, mobj_t * mo, int side,
if (line->flags & ML_SECRET)
return false; // never open secret doors
}
- repeat = line->flags & ML_REPEAT_SPECIAL;
+ repeat = (line->flags & ML_REPEAT_SPECIAL) != 0;
buttonSuccess = false;
// Construct args[] array to contain the arguments from the line, as we
diff --git a/src/strife/p_enemy.c b/src/strife/p_enemy.c
index 8aad08fc..e358e616 100644
--- a/src/strife/p_enemy.c
+++ b/src/strife/p_enemy.c
@@ -891,7 +891,7 @@ void A_Look (mobj_t* actor)
// as a parameter to control allaround look behavior. Did they just run out of
// flags, or what?
// STRIFE-TODO: Needs serious verification.
- if (!P_LookForPlayers (actor, actor->flags & MF_GIVEQUEST) )
+ if (!P_LookForPlayers(actor, (actor->flags & MF_GIVEQUEST) != 0))
return;
// go into chase state
@@ -975,7 +975,7 @@ void A_FriendLook(mobj_t* actor)
gamemap != 3 && gamemap != 34)
{
// STRIFE-TODO: Needs serious verification.
- if(P_LookForPlayers(actor, actor->flags & MF_GIVEQUEST))
+ if(P_LookForPlayers(actor, (actor->flags & MF_GIVEQUEST) != 0))
{
P_SetMobjState(actor, actor->info->seestate);
actor->flags |= MF_NODIALOG;
diff --git a/src/strife/p_inter.c b/src/strife/p_inter.c
index 71db6fe1..f2e16efb 100644
--- a/src/strife/p_inter.c
+++ b/src/strife/p_inter.c
@@ -537,7 +537,7 @@ void P_TouchSpecialThing(mobj_t* special, mobj_t* toucher)
// rifle
case SPR_RIFL:
- if(!P_GiveWeapon(player, wp_rifle, special->flags & MF_DROPPED))
+ if(!P_GiveWeapon(player, wp_rifle, (special->flags & MF_DROPPED) != 0))
return;
sound = sfx_wpnup; // haleyjd: SHK-CHK!
break;
@@ -560,7 +560,8 @@ void P_TouchSpecialThing(mobj_t* special, mobj_t* toucher)
// grenade launcher
case SPR_GRND:
- if(!P_GiveWeapon(player, wp_hegrenade, special->flags & MF_DROPPED))
+ if(!P_GiveWeapon(player, wp_hegrenade,
+ (special->flags & MF_DROPPED) != 0))
return;
sound = sfx_wpnup; // haleyjd: SHK-CHK!
break;
@@ -574,14 +575,15 @@ void P_TouchSpecialThing(mobj_t* special, mobj_t* toucher)
// electric bolt crossbow
case SPR_CBOW:
- if(!P_GiveWeapon(player, wp_elecbow, special->flags & MF_DROPPED))
+ if(!P_GiveWeapon(player, wp_elecbow,
+ (special->flags & MF_DROPPED) != 0))
return;
sound = sfx_wpnup; // haleyjd: SHK-CHK!
break;
// haleyjd 09/21/10: missed case: THE SIGIL!
case SPR_SIGL:
- if(!P_GiveWeapon(player, wp_sigil, special->flags & MF_DROPPED))
+ if(!P_GiveWeapon(player, wp_sigil, (special->flags & MF_DROPPED) != 0))
{
player->sigiltype = special->frame;
return;
diff --git a/src/strife/p_map.c b/src/strife/p_map.c
index 13a1bb54..03b57edd 100644
--- a/src/strife/p_map.c
+++ b/src/strife/p_map.c
@@ -384,7 +384,7 @@ boolean PIT_CheckThing (mobj_t* thing)
// check for special pickup
if (thing->flags & MF_SPECIAL)
{
- solid = thing->flags&MF_SOLID;
+ solid = (thing->flags & MF_SOLID) != 0;
if (tmthing->player) // villsa [STRIFE] no longer checks MF_PICKUP flag
{
// can remove thing
diff --git a/src/strife/p_maputl.c b/src/strife/p_maputl.c
index 4ecb5566..f1773858 100644
--- a/src/strife/p_maputl.c
+++ b/src/strife/p_maputl.c
@@ -941,7 +941,7 @@ P_PathTraverse
int count;
- earlyout = flags & PT_EARLYOUT;
+ earlyout = (flags & PT_EARLYOUT) != 0;
validcount++;
intercept_p = intercepts;