summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Howard2015-02-19 23:50:04 -0500
committerSimon Howard2015-02-19 23:52:02 -0500
commit714d7a29397b44fcb2b1fef2d675d296cb984264 (patch)
tree12a5fc0268107aa1ab7b4a2c827062d439331c33
parent51ab62f6fb06b42c80c98ea71ab29d208d10e422 (diff)
downloadchocolate-doom-714d7a29397b44fcb2b1fef2d675d296cb984264.tar.gz
chocolate-doom-714d7a29397b44fcb2b1fef2d675d296cb984264.tar.bz2
chocolate-doom-714d7a29397b44fcb2b1fef2d675d296cb984264.zip
doom: Change weaponowned[] to an int array.
The st_stuff.c status bar code passes pointer to an entry in weaponowned[] as an int pointer, but weaponowned[] is an array of booleans and booleans are not always represented as 32-bit ints. Remove the (int *) cast and ensure correct behavior. This fixes the immediate issue in #509 (thanks floppes).
-rw-r--r--src/doom/d_player.h2
-rw-r--r--src/doom/st_stuff.c11
2 files changed, 7 insertions, 6 deletions
diff --git a/src/doom/d_player.h b/src/doom/d_player.h
index a72c2f5f..04e47109 100644
--- a/src/doom/d_player.h
+++ b/src/doom/d_player.h
@@ -111,7 +111,7 @@ typedef struct player_s
// Is wp_nochange if not changing.
weapontype_t pendingweapon;
- boolean weaponowned[NUMWEAPONS];
+ int weaponowned[NUMWEAPONS];
int ammo[NUMAMMO];
int maxammo[NUMAMMO];
diff --git a/src/doom/st_stuff.c b/src/doom/st_stuff.c
index 9a25865c..693b6ef2 100644
--- a/src/doom/st_stuff.c
+++ b/src/doom/st_stuff.c
@@ -1261,11 +1261,12 @@ void ST_createWidgets(void)
// weapons owned
for(i=0;i<6;i++)
{
- STlib_initMultIcon(&w_arms[i],
- ST_ARMSX+(i%3)*ST_ARMSXSPACE,
- ST_ARMSY+(i/3)*ST_ARMSYSPACE,
- arms[i], (int *) &plyr->weaponowned[i+1],
- &st_armson);
+ STlib_initMultIcon(&w_arms[i],
+ ST_ARMSX+(i%3)*ST_ARMSXSPACE,
+ ST_ARMSY+(i/3)*ST_ARMSYSPACE,
+ arms[i],
+ &plyr->weaponowned[i+1],
+ &st_armson);
}
// frags sum