Express menu defs as flags

This commit is contained in:
mazmazz 2018-11-15 16:05:09 -05:00
parent f7cc62d9d9
commit c8f5aa688a
1 changed files with 75 additions and 71 deletions

View File

@ -26,93 +26,97 @@
// Menu IDs sectioned by numeric places to signify hierarchy
typedef enum
{
MM_NONE = 0,
MM_MAIN = 10000,
MM_MAIN = 1,
// Single Player
MM_SP_MAIN = 11000,
MM_SP_MAIN = 1<<1,
MM_SP_LOAD = 11100,
MM_SP_PLAYER = 11110,
MM_SP_LOAD = 1<<2,
MM_SP_PLAYER = 1<<3,
MM_SP_LEVELSELECT = 11200,
MM_SP_LEVELSTATS = 11300,
MM_SP_LEVELSELECT = 1<<4,
MM_SP_LEVELSTATS = 1<<5,
MM_SP_TIMEATTACK = 11400,
MM_SP_GUESTREPLAY = 11410,
MM_SP_REPLAY = 11420,
MM_SP_GHOST = 11430,
MM_SP_TIMEATTACK = 1<<6,
MM_SP_TIMEATTACK_LEVELSELECT = 1<<7,
MM_SP_GUESTREPLAY = 1<<8,
MM_SP_REPLAY = 1<<9,
MM_SP_GHOST = 1<<10,
MM_SP_NIGHTSATTACK = 11500,
MM_SP_NIGHTS_GUESTREPLAY = 11510,
MM_SP_NIGHTS_REPLAY = 11520,
MM_SP_NIGHTS_GHOST = 11530,
MM_SP_NIGHTSATTACK = 1<<11,
MM_SP_NIGHTSATTACK_LEVELSELECT = 1<<12,
MM_SP_NIGHTS_GUESTREPLAY = 1<<13,
MM_SP_NIGHTS_REPLAY = 1<<14,
MM_SP_NIGHTS_GHOST = 1<<15,
// Multiplayer
MM_MP_MAIN = 12000,
MM_MP_SPLITSCREEN = 12100, // SplitServer
MM_MP_SPLIT_PLAYERSETUP = 12110, // MP_PlayerSetupDef for #defined NONET
MM_MP_SERVER = 12200,
MM_MP_CONNECT = 12300,
MM_MP_ROOM = 12400,
MM_MP_PLAYERSETUP = 12500, // MP_PlayerSetupDef shared with SPLITSCREEN if #defined NONET
// Options
MM_OP_MAIN = 13000,
MM_OP_P1CONTROLS = 13100,
MM_OP_P1CONTROLCHANGE = 13110, // OP_ChangeControlsDef shared with P2
MM_OP_P1MOUSE = 13120,
MM_OP_P1JOYSTICK = 13130,
MM_OP_P1JOYSTICKSET = 13131, // OP_JoystickSetDef shared with P2
MM_OP_P2CONTROLS = 13200,
MM_OP_P2CONTROLCHANGE = 13120,
MM_OP_P2MOUSE = 13220,
MM_OP_P2JOYSTICK = 13230,
MM_OP_P2JOYSTICKSET = 13231,
MM_OP_VIDEO = 13300,
MM_OP_VIDEOMODE = 13310,
MM_OP_COLOR = 13320,
MM_OP_OPENGL = 13330,
MM_OP_OPENGL_LIGHTING = 13331,
MM_OP_OPENGL_FOG = 13332,
MM_OP_OPENGL_COLOR = 13333,
MM_OP_SOUND = 13400,
MM_OP_SERVER = 13500,
MM_OP_MONITORTOGGLE = 13510,
MM_OP_DATA = 13600,
MM_OP_ADDONS = 13610,
MM_OP_SCREENSHOTS = 13620,
MM_OP_ERASEDATA = 13630,
MM_MP_MAIN = 1<<16,
MM_MP_SPLITSCREEN = 1<<17, // SplitServer
MM_MP_SERVER = 1<<18,
MM_MP_CONNECT = 1<<19,
MM_MP_ROOM = 1<<20,
MM_MP_PLAYERSETUP = 1<<21, // MP_PlayerSetupDef shared with SPLITSCREEN if #defined NONET
// Secrets
MM_SR_MAIN = 14000,
MM_SR_PANDORA = 14100,
MM_SR_LEVELSELECT = 14200,
MM_SR_UNLOCKCHECKLIST = 14300,
MM_SR_EMBLEMHINT = 14400,
MM_SR_MAIN = 1<<22,
MM_SR_PANDORA = 1<<23,
MM_SR_LEVELSELECT = 1<<24,
MM_SR_UNLOCKCHECKLIST = 1<<25,
MM_SR_EMBLEMHINT = 1<<26,
// Addons (Part of MISC, but let's make it our own)
MM_AD_MAIN = 15000
MM_AD_MAIN = 1<<27,
MM_ALL = 1<<28,
// MISC
MM_MESSAGE = 20000,
MM_SPAUSE = 30000,
// MM_MESSAGE = 20000,
// MM_SPAUSE = 30000,
MM_MPAUSE = 40000,
MM_SCRAMBLETEAM = 41000,
MM_CHANGETEAM = 42000,
MM_CHANGELEVEL = 43000,
// MM_MPAUSE = 40000,
// MM_SCRAMBLETEAM = 41000,
// MM_CHANGETEAM = 42000,
// MM_CHANGELEVEL = 43000,
MM_MAPAUSE = 50000,
MM_HELP = 60000
} menutype_t;
// MM_MAPAUSE = 50000,
// MM_HELP = 60000
} menutype_t; // up to 1<<31
typedef enum
{
// Options
MM2_OP_MAIN = 1,
MM2_OP_P1CONTROLS = 1<<1,
MM2_OP_CHANGECONTROLS = 1<<2, // OP_ChangeControlsDef shared with P2
MM2_OP_P1MOUSE = 1<<3,
MM2_OP_P1JOYSTICK = 1<<4,
MM2_OP_JOYSTICKSET = 1<<5, // OP_JoystickSetDef shared with P2
MM2_OP_P2CONTROLS = 1<<6,
MM2_OP_P2MOUSE = 1<<7,
MM2_OP_P2JOYSTICK = 1<<8,
MM2_OP_VIDEO = 1<<9,
MM2_OP_VIDEOMODE = 1<<10,
MM2_OP_COLOR = 1<<11,
MM2_OP_OPENGL = 1<<12,
MM2_OP_OPENGL_LIGHTING = 1<<13,
MM2_OP_OPENGL_FOG = 1<<14,
MM2_OP_OPENGL_COLOR = 1<<15,
MM2_OP_SOUND = 1<<16,
MM2_OP_SERVER = 1<<17,
MM2_OP_MONITORTOGGLE = 1<<18,
MM2_OP_DATA = 1<<19,
MM2_OP_ADDONS = 1<<20,
MM2_OP_SCREENSHOTS = 1<<21,
MM2_OP_ERASEDATA = 1<<22,
MM2_ALL = 1<<23
} menutype2_t; // up to 1<<31
// Called by main loop,