diff options
author | Simon Howard | 2015-02-20 00:03:15 -0500 |
---|---|---|
committer | Simon Howard | 2015-02-20 00:03:15 -0500 |
commit | 1f5ce047ad6cb709f746b794b4a2dea9e2f89fb6 (patch) | |
tree | 273878bb2a6288122a4efd4f012dbbd611f82500 /src/strife | |
parent | 714d7a29397b44fcb2b1fef2d675d296cb984264 (diff) | |
download | chocolate-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.
Diffstat (limited to 'src/strife')
-rw-r--r-- | src/strife/p_enemy.c | 4 | ||||
-rw-r--r-- | src/strife/p_inter.c | 10 | ||||
-rw-r--r-- | src/strife/p_map.c | 2 | ||||
-rw-r--r-- | src/strife/p_maputl.c | 2 |
4 files changed, 10 insertions, 8 deletions
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; |