From 714d7a29397b44fcb2b1fef2d675d296cb984264 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Thu, 19 Feb 2015 23:50:04 -0500 Subject: 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). --- src/doom/d_player.h | 2 +- src/doom/st_stuff.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/doom') 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 -- cgit v1.2.3