diff --git a/enumtables.ps1 b/enumtables.ps1 index 45aed8433e1ef2da58336766cbf696d6b65ccf5b..eecc61ea8ff341a28874790fd53c2b74c9d53deb 100644 --- a/enumtables.ps1 +++ b/enumtables.ps1 @@ -16,9 +16,9 @@ if ($args.Count -gt 0) $path = $args[0] } -# bash can't match whitespaces, so each // ENUMTABLES +# bash can't match whitespaces, so each // ENUMTABLE # directive cannot be indented. -$enumtables_line = '^\s*// ENUMTABLES ' +$enumtables_line = '^\s*// ENUMTABLE ' $global:state = [PSCustomObject]@{ enumtables = [IO.File]::ReadAllText("$PSScriptRoot\enumtables.txt") @@ -37,8 +37,8 @@ function Read-Line { param( [string]$line ) if ($line -match $enumtables_line) { - # // ENUMTABLES BEGIN TABLE_NAME ACTION_NAME ARG1 ARG2 - # [0][1] [2] [3] [4] [5] [6] + # // ENUMTABLE BEGIN TABLE_NAME ACTION_NAME ARG1 ARG2 + # [0][1] [2] [3] [4] [5] [6] $tokens = $line.Trim().Split(" ") if ($tokens[2] -match "BEGIN") @@ -57,7 +57,7 @@ function Read-Line { elseif ($tokens[2] -match "END") { # Use TrimEnd on strings to achieve consistency with bash - $global:state.enumtables = $global:state.enumtables -replace "// ENUMTABLES SET $($tokens[3])", ($global:state.entries -join "`n").TrimEnd() + $global:state.enumtables = $global:state.enumtables -replace "// ENUMTABLE SET $($tokens[3])", ($global:state.entries -join "`n").TrimEnd() $global:state.do_generic = $false $global:state.do_actions = $false @@ -84,7 +84,7 @@ function Read-Line { if ($line -match "^\t$($global:state.prefix_in)(?<Name>[^ \=,]+?)[ \=,]") { - $global:state.entry_line = "`t`"{0}{1}`"," -f $global:state.prefix_out, $Matches.Name + $global:state.entry_line = "`t`"{0}{1}`"," -f $global:state.prefix_out, $Matches.Name.ToUpper() $global:state.entries.Add($global:state.entry_line) } else @@ -117,6 +117,18 @@ function Read-Line { [System.IO.File]::ReadLines("$path\p_mobj.h") | ForEach-Object { Read-Line -line $_ } +[System.IO.File]::ReadLines("$path\doomstat.h") | ForEach-Object { + Read-Line -line $_ +} +[System.IO.File]::ReadLines("$path\d_player.h") | ForEach-Object { + Read-Line -line $_ +} +[System.IO.File]::ReadLines("$path\m_menu.h") | ForEach-Object { + Read-Line -line $_ +} +[System.IO.File]::ReadLines("$path\st_stuff.h") | ForEach-Object { + Read-Line -line $_ +} # Use TrimEnd on strings to achieve consistency with bash Set-Content "$path\enumtables.c" $global:state.enumtables.TrimEnd() diff --git a/enumtables.sh b/enumtables.sh index fc8f7a2fff51360960d634a8e23f131f50f80872..e003b661bcb71c19952539e4d8824015a4c2db77 100755 --- a/enumtables.sh +++ b/enumtables.sh @@ -22,9 +22,9 @@ SCRIPTPATH=`dirname $SCRIPT` enumtables=`cat $SCRIPTPATH/enumtables.txt` -# bash can't match whitespaces, so each // ENUMTABLES +# bash can't match whitespaces, so each // ENUMTABLE # directive cannot be indented. -enumtables_line="^\s*// ENUMTABLES " +enumtables_line="^\s*// ENUMTABLE " action_match="^\s*void A_(.*)\(\);" do_generic=0 @@ -39,8 +39,8 @@ entries="" function process_line () { line=$1 if [[ "$line" =~ $enumtables_line ]]; then - # // ENUMTABLES BEGIN TABLE_NAME ACTION_NAME ARG1 ARG2 - # [0][1] [2] [3] [4] [5] [6] + # // ENUMTABLE BEGIN TABLE_NAME ACTION_NAME ARG1 ARG2 + # [0][1] [2] [3] [4] [5] [6] # Trim trailing newlines to prevent match bugs tokens=($line) verb_name="`echo ${tokens[2]} | tr -d '\r'`" @@ -58,12 +58,12 @@ function process_line () { fi elif [[ "$verb_name" == "END" ]]; then if [[ "$do_generic" == "1" ]]; then - entries="`echo -e \"$entries\" | sed -r \"s/^\t$prefix_in([^ \=,]*?).*[ \=\/,].*/\t\\\"$prefix_out\1\\\",/\"`" + entries="`echo -e \"$entries\" | sed -r \"s/^\t$prefix_in([^ \=,]*?).*[ \=\/,].*/\t\\\"$prefix_out\U\1\\\",/\"`" elif [[ "$do_actions" == "1" ]]; then entries="`echo -e \"$entries\"`" fi - enumtables="${enumtables/\/\/ ENUMTABLES SET $table_name/$entries}" + enumtables="${enumtables/\/\/ ENUMTABLE SET $table_name/$entries}" do_generic=0 do_actions=0 @@ -115,4 +115,20 @@ while IFS= read -r line; do process_line "$line" done < "$path/p_mobj.h" +while IFS= read -r line; do + process_line "$line" +done < "$path/doomstat.h" + +while IFS= read -r line; do + process_line "$line" +done < "$path/d_player.h" + +while IFS= read -r line; do + process_line "$line" +done < "$path/m_menu.h" + +while IFS= read -r line; do + process_line "$line" +done < "$path/st_stuff.h" + echo "$enumtables" > "$path/enumtables.c" diff --git a/enumtables.txt b/enumtables.txt index aeaf6ce2f088cd7c480c35c74d2891436fea1fa0..82bf8c95d75c5f9eeac4f4d7034ef9e5dbaeff87 100644 --- a/enumtables.txt +++ b/enumtables.txt @@ -22,10 +22,42 @@ #include "info.h" const char *const MOBJFLAG_LIST[] = { -// ENUMTABLES SET MOBJFLAG_LIST +// ENUMTABLE SET MOBJFLAG_LIST NULL }; +const char *const MOBJFLAG2_LIST[] = { +// ENUMTABLE SET MOBJFLAG2_LIST + NULL +}; + +const char *const MOBJEFLAG_LIST[] = { +// ENUMTABLE SET MOBJEFLAG_LIST + NULL +}; + +const char *const PLAYERFLAG_LIST[] = { +// ENUMTABLE SET PLAYERFLAG_LIST + NULL +}; + +const char *const GAMETYPERULE_LIST[] = { +// ENUMTABLE SET GAMETYPERULE_LIST + NULL +}; + +const char *const POWERS_LIST[] = { +// ENUMTABLE SET POWERS_LIST +}; + +const char *const HUDITEMS_LIST[] = { +// ENUMTABLE SET HUDITEMS_LIST +}; + +const char *const MENUTYPES_LIST[] = { +// ENUMTABLE SET MENUTYPES_LIST +}; + //////////////////////////////////////////////////////////////////////////////// // CRAZY LIST OF STATE NAMES AND ALL FROM HERE DOWN @@ -33,7 +65,7 @@ const char *const MOBJFLAG_LIST[] = { // I am leaving the prefixes solely for clarity to programmers, // because sadly no one remembers this place while searching for full state names. const char *const STATE_LIST[] = { -// ENUMTABLES SET STATE_LIST +// ENUMTABLE SET STATE_LIST #ifdef SEENAMES "S_NAMECHECK", @@ -44,7 +76,7 @@ const char *const STATE_LIST[] = { // I am leaving the prefixes solely for clarity to programmers, // because sadly no one remembers this place while searching for full state names. const char *const MOBJTYPE_LIST[] = { -// ENUMTABLES SET MOBJTYPE_LIST +// ENUMTABLE SET MOBJTYPE_LIST #ifdef SEENAMES "MT_NAMECHECK", @@ -56,7 +88,7 @@ const char *const MOBJTYPE_LIST[] = { */ actionpointer_t actionpointers[] = { -// ENUMTABLES SET actionpointers +// ENUMTABLE SET actionpointers {{NULL}, "NONE"}, // This NULL entry must be the last in the list diff --git a/src/d_player.h b/src/d_player.h index 8697e9836929c0e269f61127d7245686e71b0232..c8b3c6c0d654a71544f3c4b3954b3e309b735043 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -100,6 +100,7 @@ typedef enum // typedef enum { +// ENUMTABLE BEGIN PLAYERFLAG_LIST do_generic PF_ // Cvars PF_FLIPCAM = 1, // Flip camera angle with gravity flip prefrence. PF_ANALOGMODE = 1<<1, // Analog mode? @@ -155,6 +156,7 @@ typedef enum PF_FINISHED = 1<<30, // The player finished the level. NOT the same as exiting // up to 1<<31 is free +// ENUMTABLE END PLAYERFLAG_LIST } pflags_t; typedef enum @@ -245,6 +247,7 @@ typedef enum // Player powers. (don't edit this comment) typedef enum { +// ENUMTABLE BEGIN POWERS_LIST do_generic pw_ pw_invulnerability, pw_sneakers, pw_flashing, @@ -284,6 +287,8 @@ typedef enum pw_justlaunched, // Launched off a slope this tic (0=none, 1=standard launch, 2=half-pipe launch) +// ENUMTABLE END POWERS_LIST + NUMPOWERS } powertype_t; diff --git a/src/dehacked.c b/src/dehacked.c index 7e0eb44affcea83337f3856e2c1960717a3e718e..2d81f8b71a5c05eb7c4cd5a9767b5f0bcb5fe820 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -1114,7 +1114,6 @@ static void readsprite2(MYFILE *f, INT32 num) } // copypasted from readPlayer :] -static const char *const GAMETYPERULE_LIST[]; static void readgametype(MYFILE *f, char *gtname) { char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL); @@ -4597,57 +4596,6 @@ void DEH_LoadDehackedLump(lumpnum_t lumpnum) DEH_LoadDehackedLumpPwad(WADFILENUM(lumpnum),LUMPNUM(lumpnum), false); } -// \tMF2_(\S+).*// (.+) --> \t"\1", // \2 -static const char *const MOBJFLAG2_LIST[] = { - "AXIS", // It's a NiGHTS axis! (For faster checking) - "TWOD", // Moves like it's in a 2D level - "DONTRESPAWN", // Don't respawn this object! - "DONTDRAW", // Don't generate a vissprite - "AUTOMATIC", // Thrown ring has automatic properties - "RAILRING", // Thrown ring has rail properties - "BOUNCERING", // Thrown ring has bounce properties - "EXPLOSION", // Thrown ring has explosive properties - "SCATTER", // Thrown ring has scatter properties - "BEYONDTHEGRAVE", // Source of this missile has died and has since respawned. - "SLIDEPUSH", // MF_PUSHABLE that pushes continuously. - "CLASSICPUSH", // Drops straight down when object has negative momz. - "INVERTAIMABLE", // Flips whether it's targetable by A_LookForEnemies (enemies no, decoys yes) - "INFLOAT", // Floating to a height for a move, don't auto float to target's height. - "DEBRIS", // Splash ring from explosion ring - "NIGHTSPULL", // Attracted from a paraloop - "JUSTATTACKED", // can be pushed by other moving mobjs - "FIRING", // turret fire - "SUPERFIRE", // Firing something with Super Sonic-stopping properties. Or, if mobj has MF_MISSILE, this is the actual fire from it. - "SHADOW", // Fuzzy draw, makes targeting harder. - "STRONGBOX", // Flag used for "strong" random monitors. - "OBJECTFLIP", // Flag for objects that always have flipped gravity. - "SKULLFLY", // Special handling: skull in flight. - "FRET", // Flashing from a previous hit - "BOSSNOTRAP", // No Egg Trap after boss - "BOSSFLEE", // Boss is fleeing! - "BOSSDEAD", // Boss is dead! (Not necessarily fleeing, if a fleeing point doesn't exist.) - "AMBUSH", // Alternate behaviour typically set by MTF_AMBUSH - "LINKDRAW", // Draw vissprite of mobj immediately before/after tracer's vissprite (dependent on dispoffset and position) - "SHIELD", // Thinker calls P_AddShield/P_ShieldLook (must be partnered with MF_SCENERY to use) - NULL -}; - -static const char *const MOBJEFLAG_LIST[] = { - "ONGROUND", // The mobj stands on solid floor (not on another mobj or in air) - "JUSTHITFLOOR", // The mobj just hit the floor while falling, this is cleared on next frame - "TOUCHWATER", // The mobj stands in a sector with water, and touches the surface - "UNDERWATER", // The mobj stands in a sector with water, and his waist is BELOW the water surface - "JUSTSTEPPEDDOWN", // used for ramp sectors - "VERTICALFLIP", // Vertically flip sprite/allow upside-down physics - "GOOWATER", // Goo water - "TOUCHLAVA", // The mobj is touching a lava block - "PUSHED", // Mobj was already pushed this tic - "SPRUNG", // Mobj was already sprung this tic - "APPLYPMOMZ", // Platform movement - "TRACERANGLE", // Compute and trigger on mobj angle relative to tracer - NULL -}; - static const char *const MAPTHINGFLAG_LIST[4] = { "EXTRA", // Extra flag for objects. "OBJECTFLIP", // Reverse gravity flag for objects. @@ -4655,101 +4603,6 @@ static const char *const MAPTHINGFLAG_LIST[4] = { "AMBUSH" // Deaf monsters/do not react to sound. }; -static const char *const PLAYERFLAG_LIST[] = { - - // Cvars - "FLIPCAM", // Flip camera angle with gravity flip prefrence. - "ANALOGMODE", // Analog mode? - "DIRECTIONCHAR", // Directional character sprites? - "AUTOBRAKE", // Autobrake? - - // Cheats - "GODMODE", - "NOCLIP", - "INVIS", - - // True if button down last tic. - "ATTACKDOWN", - "USEDOWN", - "JUMPDOWN", - "WPNDOWN", - - // Unmoving states - "STASIS", // Player is not allowed to move - "JUMPSTASIS", // and that includes jumping. - // (we don't include FULLSTASIS here I guess because it's just those two together...?) - - // Applying autobrake? - "APPLYAUTOBRAKE", - - // Character action status - "STARTJUMP", - "JUMPED", - "NOJUMPDAMAGE", - - "SPINNING", - "STARTDASH", - - "THOKKED", - "SHIELDABILITY", - "GLIDING", - "BOUNCING", - - // Sliding (usually in water) like Labyrinth/Oil Ocean - "SLIDING", - - // NiGHTS stuff - "TRANSFERTOCLOSEST", - "DRILLING", - - // Gametype-specific stuff - "GAMETYPEOVER", // Race time over, or H&S out-of-game - "TAGIT", // The player is it! For Tag Mode - - /*** misc ***/ - "FORCESTRAFE", // Translate turn inputs into strafe inputs - "CANCARRY", // Can carry? - "FINISHED", - - NULL // stop loop here. -}; - -static const char *const GAMETYPERULE_LIST[] = { - "CAMPAIGN", - "RINGSLINGER", - "SPECTATORS", - "LIVES", - "TEAMS", - "FIRSTPERSON", - "POWERSTONES", - "TEAMFLAGS", - "FRIENDLY", - "SPECIALSTAGES", - "EMERALDTOKENS", - "EMERALDHUNT", - "RACE", - "TAG", - "POINTLIMIT", - "TIMELIMIT", - "OVERTIME", - "HURTMESSAGES", - "FRIENDLYFIRE", - "STARTCOUNTDOWN", - "HIDEFROZEN", - "BLINDFOLDED", - "RESPAWNDELAY", - "PITYSHIELD", - "DEATHPENALTY", - "NOSPECTATORSPAWN", - "DEATHMATCHSTARTS", - "SPAWNINVUL", - "SPAWNENEMIES", - "ALLOWEXIT", - "NOTITLECARD", - "CUTSCENES", - NULL -}; - // Linedef flags static const char *const ML_LIST[16] = { "IMPASSIBLE", @@ -4905,174 +4758,6 @@ static const char *COLOR_ENUMS[] = { "SUPERTAN5" // SKINCOLOR_SUPERTAN5, }; -static const char *const POWERS_LIST[] = { - "INVULNERABILITY", - "SNEAKERS", - "FLASHING", - "SHIELD", - "CARRY", - "TAILSFLY", // tails flying - "UNDERWATER", // underwater timer - "SPACETIME", // In space, no one can hear you spin! - "EXTRALIFE", // Extra Life timer - "PUSHING", - "JUSTSPRUNG", - "NOAUTOBRAKE", - - "SUPER", // Are you super? - "GRAVITYBOOTS", // gravity boots - - // Weapon ammunition - "INFINITYRING", - "AUTOMATICRING", - "BOUNCERING", - "SCATTERRING", - "GRENADERING", - "EXPLOSIONRING", - "RAILRING", - - // Power Stones - "EMERALDS", // stored like global 'emeralds' variable - - // NiGHTS powerups - "NIGHTS_SUPERLOOP", - "NIGHTS_HELPER", - "NIGHTS_LINKFREEZE", - - //for linedef exec 427 - "NOCONTROL", - - //for dyes - "DYE", - - "JUSTLAUNCHED" -}; - -static const char *const HUDITEMS_LIST[] = { - "LIVES", - - "RINGS", - "RINGSNUM", - "RINGSNUMTICS", - - "SCORE", - "SCORENUM", - - "TIME", - "MINUTES", - "TIMECOLON", - "SECONDS", - "TIMETICCOLON", - "TICS", - - "SS_TOTALRINGS", - - "GETRINGS", - "GETRINGSNUM", - "TIMELEFT", - "TIMELEFTNUM", - "TIMEUP", - "HUNTPICS", - "POWERUPS" -}; - -static const char *const MENUTYPES_LIST[] = { - "NONE", - - "MAIN", - - // Single Player - "SP_MAIN", - - "SP_LOAD", - "SP_PLAYER", - - "SP_LEVELSELECT", - "SP_LEVELSTATS", - - "SP_TIMEATTACK", - "SP_TIMEATTACK_LEVELSELECT", - "SP_GUESTREPLAY", - "SP_REPLAY", - "SP_GHOST", - - "SP_NIGHTSATTACK", - "SP_NIGHTS_LEVELSELECT", - "SP_NIGHTS_GUESTREPLAY", - "SP_NIGHTS_REPLAY", - "SP_NIGHTS_GHOST", - - // Multiplayer - "MP_MAIN", - "MP_SPLITSCREEN", // SplitServer - "MP_SERVER", - "MP_CONNECT", - "MP_ROOM", - "MP_PLAYERSETUP", // MP_PlayerSetupDef shared with SPLITSCREEN if #defined NONET - "MP_SERVER_OPTIONS", - - // Options - "OP_MAIN", - - "OP_P1CONTROLS", - "OP_CHANGECONTROLS", // OP_ChangeControlsDef shared with P2 - "OP_P1MOUSE", - "OP_P1JOYSTICK", - "OP_JOYSTICKSET", // OP_JoystickSetDef shared with P2 - "OP_P1CAMERA", - - "OP_P2CONTROLS", - "OP_P2MOUSE", - "OP_P2JOYSTICK", - "OP_P2CAMERA", - - "OP_PLAYSTYLE", - - "OP_VIDEO", - "OP_VIDEOMODE", - "OP_COLOR", - "OP_OPENGL", - "OP_OPENGL_LIGHTING", - "OP_OPENGL_FOG", - "OP_OPENGL_COLOR", - - "OP_SOUND", - - "OP_SERVER", - "OP_MONITORTOGGLE", - - "OP_DATA", - "OP_ADDONS", - "OP_SCREENSHOTS", - "OP_ERASEDATA", - - // Extras - "SR_MAIN", - "SR_PANDORA", - "SR_LEVELSELECT", - "SR_UNLOCKCHECKLIST", - "SR_EMBLEMHINT", - "SR_PLAYER", - "SR_SOUNDTEST", - - // Addons (Part of MISC, but let's make it our own) - "AD_MAIN", - - // MISC - // "MESSAGE", - // "SPAUSE", - - // "MPAUSE", - // "SCRAMBLETEAM", - // "CHANGETEAM", - // "CHANGELEVEL", - - // "MAPAUSE", - // "HELP", - - "SPECIAL" -}; - struct { const char *n; // has to be able to hold both fixed_t and angle_t, so drastic measure!! diff --git a/src/doomstat.h b/src/doomstat.h index 0c2f1e975144d8ef9464afd57692539a56df4a3e..b355ee72b72d06460e31fe59d0d2b41eafbacdc1 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -402,6 +402,7 @@ enum GameType // Gametype rules enum GameTypeRules { +// ENUMTABLE BEGIN GAMETYPERULE_LIST do_generic GTR_ GTR_CAMPAIGN = 1, // Linear Co-op map progression, don't allow random maps GTR_RINGSLINGER = 1<<1, // Outside of Co-op, Competition, and Race (overriden by cv_ringslinger) GTR_SPECTATORS = 1<<2, // Outside of Co-op, Competition, and Race @@ -434,6 +435,7 @@ enum GameTypeRules GTR_ALLOWEXIT = 1<<29, // Allow exit sectors GTR_NOTITLECARD = 1<<30, // Don't show the title card GTR_CUTSCENES = 1<<31, // Play cutscenes, ending, credits, and evaluation +// ENUMTABLE END GAMETYPERULE_LIST }; // String names for gametypes diff --git a/src/enumtables.h b/src/enumtables.h index 2f8812b6590ec6a231a736743ed22d700470e2f7..1196459ea462f5533c8a67ae94d34529f3d4c8a6 100644 --- a/src/enumtables.h +++ b/src/enumtables.h @@ -14,6 +14,20 @@ extern const char *const MOBJFLAG_LIST[]; +extern const char *const MOBJFLAG2_LIST[]; + +extern const char *const MOBJEFLAG_LIST[]; + +extern const char *const PLAYERFLAG_LIST[]; + +extern const char *const GAMETYPERULE_LIST[]; + +extern const char *const POWERS_LIST[]; + +extern const char *const HUDITEMS_LIST[]; + +extern const char *const MENUTYPES_LIST[]; + extern const char *const STATE_LIST[]; extern const char *const MOBJTYPE_LIST[]; diff --git a/src/info.h b/src/info.h index 140a0bc5eaf198b6525d61216f294bcc02239682..d5171c5626a80200dac4edeb399ca57c10f7a797 100644 --- a/src/info.h +++ b/src/info.h @@ -19,7 +19,7 @@ #include "sounds.h" #include "m_fixed.h" -// ENUMTABLES BEGIN actionpointers do_actions +// ENUMTABLE BEGIN actionpointers do_actions void A_Explode(); void A_Pain(); void A_Fall(); @@ -281,7 +281,7 @@ void A_DragonbomberSpawn(); void A_DragonWing(); void A_DragonSegment(); void A_ChangeHeight(); -// ENUMTABLES END actionpointers +// ENUMTABLE END actionpointers // ratio of states to sprites to mobj types is roughly 6 : 1 : 1 #define NUMMOBJFREESLOTS 512 @@ -874,7 +874,7 @@ typedef enum playersprite typedef enum state { -// ENUMTABLES BEGIN STATE_LIST do_generic S_ S_ +// ENUMTABLE BEGIN STATE_LIST do_generic S_ S_ S_NULL, S_UNKNOWN, S_INVISIBLE, // state for invisible sprite @@ -3997,7 +3997,7 @@ typedef enum state S_BRICKDEBRIS, S_WOODDEBRIS, -// ENUMTABLES END STATE_LIST +// ENUMTABLE END STATE_LIST #ifdef SEENAMES S_NAMECHECK, @@ -4028,7 +4028,7 @@ extern playersprite_t free_spr2; typedef enum mobj_type { -// ENUMTABLES BEGIN MOBJTYPE_LIST do_generic MT_ MT_ +// ENUMTABLE BEGIN MOBJTYPE_LIST do_generic MT_ MT_ MT_NULL, MT_UNKNOWN, @@ -4800,7 +4800,7 @@ typedef enum mobj_type MT_BRICKDEBRIS, MT_WOODDEBRIS, -// ENUMTABLES END MOBJTYPE_LIST +// ENUMTABLE END MOBJTYPE_LIST #ifdef SEENAMES MT_NAMECHECK, diff --git a/src/m_menu.h b/src/m_menu.h index 565b98945718e9612a47da82e1d306fa64a54845..ce17a1eac9bd9975b862eedb435cff6dbc1b3ada 100644 --- a/src/m_menu.h +++ b/src/m_menu.h @@ -36,6 +36,7 @@ */ typedef enum { +// ENUMTABLE BEGIN MENUTYPES_LIST do_generic MN_ MN_NONE, MN_MAIN, @@ -130,6 +131,9 @@ typedef enum // MN_HELP, MN_SPECIAL, + +// ENUMTABLE END MENUTYPES_LIST + NUMMENUTYPES, } menutype_t; // up to 63; MN_SPECIAL = 53 #define MTREE2(a,b) (a | (b<<MENUBITS)) diff --git a/src/p_mobj.h b/src/p_mobj.h index 5984bc9dd3384e79eea609cbef688410bfb5fdef..7ee2a96b30d625d2275779ff7d983a807c5db29b 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -97,7 +97,7 @@ // typedef enum { -// ENUMTABLES BEGIN MOBJFLAG_LIST do_generic MF_ +// ENUMTABLE BEGIN MOBJFLAG_LIST do_generic MF_ // Call P_TouchSpecialThing when touched. MF_SPECIAL = 1, // Blocks. @@ -161,11 +161,12 @@ typedef enum // Run the action thinker on spawn. MF_RUNSPAWNFUNC = 1<<29, // free: 1<<30 and 1<<31 -// ENUMTABLES END MOBJFLAG_LIST +// ENUMTABLE END MOBJFLAG_LIST } mobjflag_t; typedef enum { +// ENUMTABLE BEGIN MOBJFLAG2_LIST do_generic MF2_ MF2_AXIS = 1, // It's a NiGHTS axis! (For faster checking) MF2_TWOD = 1<<1, // Moves like it's in a 2D level MF2_DONTRESPAWN = 1<<2, // Don't respawn this object! @@ -197,6 +198,7 @@ typedef enum MF2_LINKDRAW = 1<<28, // Draw vissprite of mobj immediately before/after tracer's vissprite (dependent on dispoffset and position) MF2_SHIELD = 1<<29, // Thinker calls P_AddShield/P_ShieldLook (must be partnered with MF_SCENERY to use) // free: to and including 1<<31 +// ENUMTABLE END MOBJFLAG2_LIST } mobjflag2_t; typedef enum @@ -218,6 +220,7 @@ typedef enum // typedef enum { +// ENUMTABLE BEGIN MOBJEFLAG_LIST do_generic MFE_ // The mobj stands on solid floor (not on another mobj or in air) MFE_ONGROUND = 1, // The mobj just hit the floor while falling, this is cleared on next frame @@ -247,6 +250,7 @@ typedef enum // See Linedef Exec 457 (Track mobj angle to point) MFE_TRACERANGLE = 1<<11, // free: to and including 1<<15 +// ENUMTABLE END MOBJEFLAG_LIST } mobjeflag_t; // diff --git a/src/st_stuff.h b/src/st_stuff.h index 4ea307d2b45c6cdcd91dd345755f9b18029237a0..eeb32b62e90ca805d6059c4b47b956f57211bd24 100644 --- a/src/st_stuff.h +++ b/src/st_stuff.h @@ -91,6 +91,7 @@ typedef struct typedef enum { +// ENUMTABLE BEGIN HUDITEMS_LIST do_generic HUD_ HUD_LIVES, HUD_RINGS, @@ -117,6 +118,8 @@ typedef enum HUD_HUNTPICS, HUD_POWERUPS, +// ENUMTABLE END HUDITEMS_LIST + NUMHUDITEMS } hudnum_t;