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/doom | |
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/doom')
-rw-r--r-- | src/doom/p_inter.c | 15 | ||||
-rw-r--r-- | src/doom/p_map.c | 2 | ||||
-rw-r--r-- | src/doom/p_maputl.c | 2 |
3 files changed, 11 insertions, 8 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; |