Fix bitflags enum GameTypeRules for C++

This commit is contained in:
Eidolon 2026-03-15 15:28:24 -05:00
parent ea7076f576
commit 73b71af9a6

View file

@ -674,47 +674,44 @@ extern INT16 numgametypes;
extern INT16 gametype, g_lastgametype; extern INT16 gametype, g_lastgametype;
// Gametype rules // Gametype rules
enum GameTypeRules typedef INT32 GameTypeRules;
{ #define GTR_CIRCUIT (1) // Enables the finish line, laps, and the waypoint system.
// Race rules #define GTR_BOTS (1<<1) // Allows bots in this gametype. Combine with BotTiccmd hooks to make bots support your gametype.
GTR_CIRCUIT = 1, // Enables the finish line, laps, and the waypoint system.
GTR_BOTS = 1<<1, // Allows bots in this gametype. Combine with BotTiccmd hooks to make bots support your gametype.
// Battle gametype rules // Battle gametype rules
GTR_BUMPERS = 1<<2, // Enables the bumper health system #define GTR_BUMPERS (1<<2) // Enables the bumper health system
GTR_SPHERES = 1<<3, // Replaces rings with blue spheres #define GTR_SPHERES (1<<3) // Replaces rings with blue spheres
GTR_CLOSERPLAYERS = 1<<4, // Buffs spindash and draft power to bring everyone together, nerfs invincibility and grow to prevent excessive combos #define GTR_CLOSERPLAYERS (1<<4) // Buffs spindash and draft power to bring everyone together, nerfs invincibility and grow to prevent excessive combos
GTR_BATTLESTARTS = 1<<5, // Use Battle Mode start positions. #define GTR_BATTLESTARTS (1<<5) // Use Battle Mode start positions.
GTR_PAPERITEMS = 1<<6, // Replaces item boxes with paper item spawners #define GTR_PAPERITEMS (1<<6) // Replaces item boxes with paper item spawners
GTR_POWERSTONES = 1<<7, // Battle Emerald collectables. #define GTR_POWERSTONES (1<<7) // Battle Emerald collectables.
GTR_KARMA = 1<<8, // Enables the Karma system if you're out of bumpers #define GTR_KARMA (1<<8) // Enables the Karma system if you're out of bumpers
// 1<<9 - UNUSED // 1<<9 - UNUSED
// Bonus gametype rules // Bonus gametype rules
GTR_CHECKPOINTS = 1<<10, // Player respawns at specific checkpoints #define GTR_CHECKPOINTS (1<<10) // Player respawns at specific checkpoints
GTR_PRISONS = 1<<11, // Can enter Prison Break mode #define GTR_PRISONS (1<<11) // Can enter Prison Break mode
GTR_CATCHER = 1<<12, // UFO Catcher (only works with GTR_CIRCUIT) #define GTR_CATCHER (1<<12) // UFO Catcher (only works with GTR_CIRCUIT)
GTR_ROLLINGSTART = 1<<13, // Rolling start (only works with GTR_CIRCUIT) #define GTR_ROLLINGSTART (1<<13) // Rolling start (only works with GTR_CIRCUIT)
GTR_SPECIALSTART = 1<<14, // White fade instant start #define GTR_SPECIALSTART (1<<14) // White fade instant start
GTR_BOSS = 1<<15, // Boss intro and spawning #define GTR_BOSS (1<<15) // Boss intro and spawning
// General purpose rules // General purpose rules
GTR_POINTLIMIT = 1<<16, // Reaching point limit ends the round #define GTR_POINTLIMIT (1<<16) // Reaching point limit ends the round
GTR_TIMELIMIT = 1<<17, // Reaching time limit ends the round #define GTR_TIMELIMIT (1<<17) // Reaching time limit ends the round
GTR_OVERTIME = 1<<18, // Allow overtime behavior #define GTR_OVERTIME (1<<18) // Allow overtime behavior
GTR_ENCORE = 1<<19, // Alternate Encore mirroring, scripting, and texture remapping #define GTR_ENCORE (1<<19) // Alternate Encore mirroring, scripting, and texture remapping
GTR_TEAMS = 1<<20, // Teams are forced on #define GTR_TEAMS (1<<20) // Teams are forced on
GTR_NOTEAMS = 1<<21, // Teams are forced off #define GTR_NOTEAMS (1<<21) // Teams are forced off
GTR_TEAMSTARTS = 1<<22, // Use team-based start positions #define GTR_TEAMSTARTS (1<<22) // Use team-based start positions
GTR_NOMP = 1<<23, // No multiplayer #define GTR_NOMP (1<<23) // No multiplayer
GTR_NOCUPSELECT = 1<<24, // Your maps are not selected via cup. #define GTR_NOCUPSELECT (1<<24) // Your maps are not selected via cup.
GTR_NOPOSITION = 1<<25, // No POSITION #define GTR_NOPOSITION (1<<25) // No POSITION
// free: to and including 1<<31 // free: to and including 1<<31
};
// Remember to update GAMETYPERULE_LIST in deh_soc.c // Remember to update GAMETYPERULE_LIST in deh_soc.c
#define GTR_FORBIDMP (GTR_NOMP|GTR_CATCHER|GTR_BOSS) #define GTR_FORBIDMP (GTR_NOMP|GTR_CATCHER|GTR_BOSS)