SW: Deal with how C++ does not implicitly convert enums to or from ints

Typedef Voc3D_Flags and Voc_Flags to int, and turn typedef'd enums into normal enums.

Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@7504 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
hendricks266 2019-04-08 06:26:03 +00:00 committed by Christoph Oelckers
parent f3a223914f
commit 38e55f1a8b
3 changed files with 11 additions and 8 deletions

View file

@ -221,14 +221,15 @@ typedef enum
btn_max
} BTNType;
typedef enum
enum
{
mf_normal = BIT(0),
mf_pushed = BIT(1),
mf_selected = BIT(2),
mf_disabled = BIT(3),
mf_separated = BIT(4)
} MenuFlags;
};
typedef int MenuFlags;
#define MenuSelectFlags (mf_pushed | mf_selected | mf_disabled)
#define MenuDrawFlags (ROTATE_SPRITE_SCREEN_CLIP)
@ -327,7 +328,7 @@ SWBOOL MNU_LoadClassicDefaults(void);
#define DefLayer(key,text,child) mt_layer,mf_normal,sldr_none,btn_none,key,text,child
#define DefDisabled(key,text,child) mt_layer,mf_disabled,sldr_none,btn_none,key,text,child
#define DefNone mt_none,0,0,0,0,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL
#define DefNone mt_none,(MenuFlags)0,(SLDRType)0,(BTNType)0,0,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL
#define OPT_XS 30
#define OPT_YS 30

View file

@ -114,7 +114,7 @@ void InitSetup(void)
//CONFIG_GetSetupFilename();
//InitializeKeyDefList();
//CONFIG_ReadSetup();
if (CONTROL_Startup(1, &GetTime, /*120*/ 140)) exit(1);
if (CONTROL_Startup(controltype_keyboardandmouse, &GetTime, /*120*/ 140)) exit(1);
SetupGameButtons();
CONFIG_SetupMouse();
CONFIG_SetupJoystick();

View file

@ -43,7 +43,7 @@ void MusicShutdown(void);
// 3D sound engine declarations //////////////////////////////////////////////
// Flag settings used to turn on and off 3d sound options
typedef enum
enum
{
v3df_none = 0, // Default, take no action, use all defaults
v3df_follow = 1, // 1 = Do coordinate updates on sound
@ -56,7 +56,8 @@ typedef enum
v3df_init = 64, // 1 = First pass of sound, don't play it.
// This is mainly used for intermittent sounds
v3df_nolookup = 128 // don't use ambient table lookup
} Voc3D_Flags;
};
typedef int Voc3D_Flags;
struct VOCstruct;
typedef struct VOCstruct VOC_INFO, *VOC_INFOp;
@ -120,11 +121,12 @@ struct ambientstruct
};
// VOC File flag settings for digi_entries.
typedef enum
enum
{
vf_normal = 0,
vf_loop = 1
} Voc_Flags;
};
typedef int Voc_Flags;
//
// Table that describes the voc file and how it will be played