This will cause problem:
typedef enum
{
WP_NONE,
WP_ALEVEL0,
WP_ALEVEL1,
WP_ALEVEL1_UPG,
WP_ALEVEL2,
WP_ALEVEL2_UPG,
WP_ALEVEL3,
WP_ALEVEL3_UPG,
WP_ALEVEL4,
WP_BLASTER,
WP_MACHINEGUN,
WP_PAIN_SAW,
WP_SHOTGUN,
WP_LAS_GUN,
WP_MASS_DRIVER,
WP_CHAINGUN,
WP_PULSE_RIFLE,
WP_FLAMER,
WP_LUCIFER_CANNON,
WP_GRENADE,
WP_R_BLASTER,
WP_R_MACHINEGUN,
WP_R_PAIN_SAW,
WP_R_SHOTGUN,
WP_R_LAS_GUN,
WP_R_MASS_DRIVER,
WP_R_CHAINGUN,
WP_R_PULSE_RIFLE,
WP_R_FLAMER,
WP_R_LUCIFER_CANNON,
WP_R_GRENADE,
WP_LOCKBLOB_LAUNCHER,
WP_HIVE,
WP_TESLAGEN,
WP_MGTURRET,
WP_R_TESLAGEN,
WP_R_MGTURRET,
//build weapons must remain in a block
WP_ABUILD,
WP_ABUILD2,
WP_HBUILD2,
WP_HBUILD,
WP_RBUILD2,
WP_RBUILD,
//ok?
WP_NUM_WEAPONS
} weapon_t;
This is ok:
typedef enum
{
WP_NONE,
WP_ALEVEL0,
WP_ALEVEL1,
WP_ALEVEL1_UPG,
WP_ALEVEL2,
WP_ALEVEL2_UPG,
WP_ALEVEL3,
WP_ALEVEL3_UPG,
WP_ALEVEL4,
WP_BLASTER,
WP_MACHINEGUN,
WP_PAIN_SAW,
WP_SHOTGUN,
WP_LAS_GUN,
WP_MASS_DRIVER,
WP_CHAINGUN,
WP_PULSE_RIFLE,
WP_FLAMER,
WP_LUCIFER_CANNON,
WP_GRENADE,
/*
WP_R_BLASTER,
WP_R_MACHINEGUN,
WP_R_PAIN_SAW,
WP_R_SHOTGUN,
WP_R_LAS_GUN,
WP_R_MASS_DRIVER,
WP_R_CHAINGUN,
WP_R_PULSE_RIFLE,
WP_R_FLAMER,
WP_R_LUCIFER_CANNON,
WP_R_GRENADE,
*/
WP_LOCKBLOB_LAUNCHER,
WP_HIVE,
WP_TESLAGEN,
WP_MGTURRET,
/*
WP_R_TESLAGEN,
WP_R_MGTURRET,
*/
//build weapons must remain in a block
WP_ABUILD,
WP_ABUILD2,
WP_HBUILD2,
WP_HBUILD,
WP_RBUILD2,
WP_RBUILD,
//ok?
WP_NUM_WEAPONS
} weapon_t;