Files
Shiip-of-Hakinian-Espanol/soh/soh/Enhancements/randomizer/randomizerEnums/RandomizerTrick.h

309 lines
11 KiB
C

#ifndef RANDO_ENUM_BEGIN
#define RANDO_ENUM_BEGIN(...)
#define RANDO_ENUM_BEGIN_CLEANUP
#endif
#ifndef RANDO_ENUM_ITEM
#define RANDO_ENUM_ITEM(...)
#define RANDO_ENUM_ITEM_CLEANUP
#endif
#ifndef RANDO_ENUM_END
#define RANDO_ENUM_END(...)
#define RANDO_ENUM_END_CLEANUP
#endif
// Randomizer tricks and glitches (beta) based on knowledge of what is achievable in Ship of Harkinian randomizer,
// excludes Item manipulation (e.g. RBA/GIM/SRM) and Wrong Warping and Ganon BK Skip
// TODO Fill and alphabetize (area based tricks must have area in name and come alphetized after general tricks)
// TODO test commented out tricks to see if consistent with console on SoH
// TODO add area specific tricks
RANDO_ENUM_BEGIN(RandomizerTrick)
RANDO_ENUM_ITEM(RT_VISIBLE_COLLISION) // -- general tricks
RANDO_ENUM_ITEM(RT_GROTTOS_WITHOUT_AGONY)
RANDO_ENUM_ITEM(RT_FEWER_TUNIC_REQUIREMENTS)
RANDO_ENUM_ITEM(RT_UNINTUITIVE_JUMPS)
RANDO_ENUM_ITEM(RT_FIRE_RINGS)
RANDO_ENUM_ITEM(RT_BUNNY_HOOD_JUMPS)
RANDO_ENUM_ITEM(RT_DAMAGE_BOOST_SIMPLE)
RANDO_ENUM_ITEM(RT_HOVER_BOOST_SIMPLE)
RANDO_ENUM_ITEM(RT_BOMBCHU_BEEHIVES)
RANDO_ENUM_ITEM(RT_HOOKSHOT_LADDERS)
RANDO_ENUM_ITEM(RT_BLUE_FIRE_MUD_WALLS)
RANDO_ENUM_ITEM(RT_OPEN_UNDERWATER_CHEST)
RANDO_ENUM_ITEM(RT_DISTANT_BOULDER_COLLISION)
RANDO_ENUM_ITEM(RT_ITEM_EXTENSION)
RANDO_ENUM_ITEM(RT_SLIDE_JUMP)
RANDO_ENUM_ITEM(RT_KF_ADULT_GS) // -- location tricks
RANDO_ENUM_ITEM(RT_LW_BRIDGE)
RANDO_ENUM_ITEM(RT_LW_MIDO_BACKFLIP)
RANDO_ENUM_ITEM(RT_LW_GS_BEAN)
RANDO_ENUM_ITEM(RT_HC_STORMS_GS)
RANDO_ENUM_ITEM(RT_HF_BIG_POE_WITHOUT_EPONA)
RANDO_ENUM_ITEM(RT_KAK_TOWER_GS)
RANDO_ENUM_ITEM(RT_KAK_CHILD_WINDMILL_POH)
RANDO_ENUM_ITEM(RT_KAK_ROOFTOP_GS)
RANDO_ENUM_ITEM(RT_GY_POH)
RANDO_ENUM_ITEM(RT_GY_CHILD_DAMPE_RACE_POH)
RANDO_ENUM_ITEM(RT_GY_SHADOW_FIRE_ARROWS)
RANDO_ENUM_ITEM(RT_DMT_SHIELDLESS_CLIMB)
RANDO_ENUM_ITEM(RT_DMT_SOIL_GS)
RANDO_ENUM_ITEM(RT_DMT_BOMBABLE)
RANDO_ENUM_ITEM(RT_DMT_HOVERS_LOWER_GS)
RANDO_ENUM_ITEM(RT_DMT_BEAN_LOWER_GS)
RANDO_ENUM_ITEM(RT_DMT_JS_LOWER_GS)
RANDO_ENUM_ITEM(RT_DMT_CLIMB_HOVERS)
RANDO_ENUM_ITEM(RT_DMT_UPPER_GS)
RANDO_ENUM_ITEM(RT_DMT_BOLERO_BIGGORON)
RANDO_ENUM_ITEM(RT_GC_POT)
RANDO_ENUM_ITEM(RT_GC_POT_STRENGTH)
RANDO_ENUM_ITEM(RT_GC_ROLLING_STRENGTH)
RANDO_ENUM_ITEM(RT_GC_LEFTMOST)
RANDO_ENUM_ITEM(RT_GC_GROTTO)
RANDO_ENUM_ITEM(RT_GC_LINK_GORON_DINS)
RANDO_ENUM_ITEM(RT_DMC_HOVER_BEAN_POH)
RANDO_ENUM_ITEM(RT_DMC_BOLERO_JUMP)
RANDO_ENUM_ITEM(RT_DMC_BOULDER_JS)
RANDO_ENUM_ITEM(RT_DMC_BOULDER_SKIP)
RANDO_ENUM_ITEM(RT_ZR_LOWER)
RANDO_ENUM_ITEM(RT_ZR_UPPER)
RANDO_ENUM_ITEM(RT_ZR_HOVERS)
RANDO_ENUM_ITEM(RT_ZR_CUCCO)
RANDO_ENUM_ITEM(RT_ZD_KING_ZORA_SKIP)
RANDO_ENUM_ITEM(RT_ZD_GS)
RANDO_ENUM_ITEM(RT_ZF_GREAT_FAIRY_WITHOUT_EXPLOSIVES)
RANDO_ENUM_ITEM(RT_LH_LAB_WALL_GS)
RANDO_ENUM_ITEM(RT_LH_LAB_DIVING)
RANDO_ENUM_ITEM(RT_LH_WATER_HOOKSHOT)
RANDO_ENUM_ITEM(RT_GV_CRATE_HOVERS)
RANDO_ENUM_ITEM(RT_GV_CHILD_TENT)
RANDO_ENUM_ITEM(RT_GV_CHILD_CUCCO_JUMP)
RANDO_ENUM_ITEM(RT_GV_HOOKSHOT_BRIDGE)
RANDO_ENUM_ITEM(RT_PASS_GUARDS_WITH_NOTHING)
RANDO_ENUM_ITEM(RT_GF_WASTELAND_GATE_SIDEHOP_SKIP)
RANDO_ENUM_ITEM(RT_GF_ADULT_SKIP_WASTELAND_GATE)
RANDO_ENUM_ITEM(RT_GF_WARRIOR_WITH_DIFFICULT_WEAPON)
RANDO_ENUM_ITEM(RT_GF_LEDGE_CLIP_INTO_GTG)
RANDO_ENUM_ITEM(RT_HW_BUNNY_CROSSING)
RANDO_ENUM_ITEM(RT_HW_CROSSING)
RANDO_ENUM_ITEM(RT_LENS_HW)
RANDO_ENUM_ITEM(RT_HW_REVERSE)
RANDO_ENUM_ITEM(RT_COLOSSUS_GS)
RANDO_ENUM_ITEM(RT_DEKU_BASEMENT_GS)
RANDO_ENUM_ITEM(RT_DEKU_B1_SKIP)
RANDO_ENUM_ITEM(RT_DEKU_B1_BOW_WEBS)
RANDO_ENUM_ITEM(RT_DEKU_B1_BACKFLIP_OVER_SPIKED_LOG)
RANDO_ENUM_ITEM(RT_DEKU_MQ_COMPASS_GS)
RANDO_ENUM_ITEM(RT_DEKU_MQ_LOG)
RANDO_ENUM_ITEM(RT_DC_SCARECROW_GS)
RANDO_ENUM_ITEM(RT_DC_VINES_GS)
RANDO_ENUM_ITEM(RT_DC_STAIRS_WITH_BOW)
RANDO_ENUM_ITEM(RT_DC_SLINGSHOT_SKIP)
RANDO_ENUM_ITEM(RT_DC_SCRUB_ROOM)
RANDO_ENUM_ITEM(RT_DC_HAMMER_FLOOR)
RANDO_ENUM_ITEM(RT_DC_MQ_STAIRS_WITH_ONLY_STRENGTH)
RANDO_ENUM_ITEM(RT_DC_MQ_CHILD_BOMBS)
RANDO_ENUM_ITEM(RT_DC_MQ_CHILD_EYES)
RANDO_ENUM_ITEM(RT_DC_MQ_ADULT_EYES)
RANDO_ENUM_ITEM(RT_DC_DODONGO_CHU)
RANDO_ENUM_ITEM(RT_DC_EYES_CHU)
RANDO_ENUM_ITEM(RT_JABU_BOSS_HOVER)
RANDO_ENUM_ITEM(RT_JABU_NEAR_BOSS_RANGED)
RANDO_ENUM_ITEM(RT_JABU_NEAR_BOSS_EXPLOSIVES)
RANDO_ENUM_ITEM(RT_JABU_B1_CUBE_HOVER)
RANDO_ENUM_ITEM(RT_LENS_JABU_MQ)
RANDO_ENUM_ITEM(RT_JABU_MQ_RANG_JUMP)
RANDO_ENUM_ITEM(RT_JABU_MQ_SOT_GS)
RANDO_ENUM_ITEM(RT_JABU_BARINADE_POTS)
RANDO_ENUM_ITEM(RT_LENS_BOTW)
RANDO_ENUM_ITEM(RT_BOTW_CHILD_DEADHAND)
RANDO_ENUM_ITEM(RT_BOTW_BASEMENT)
RANDO_ENUM_ITEM(RT_BOTW_PITS)
RANDO_ENUM_ITEM(RT_BOTW_MQ_DEADHAND_KEY)
RANDO_ENUM_ITEM(RT_FOREST_FIRST_GS)
RANDO_ENUM_ITEM(RT_FOREST_COURTYARD_EAST_GS)
RANDO_ENUM_ITEM(RT_FOREST_VINES)
RANDO_ENUM_ITEM(RT_FOREST_COURTYARD_LEDGE)
RANDO_ENUM_ITEM(RT_FOREST_DOORFRAME)
RANDO_ENUM_ITEM(RT_FOREST_OUTSIDE_BACKDOOR)
RANDO_ENUM_ITEM(RT_FOREST_COURTYARD_HEARTS_BOOMERANG)
RANDO_ENUM_ITEM(RT_FOREST_WELL_SWIM)
RANDO_ENUM_ITEM(RT_FOREST_MQ_BLOCK_PUZZLE)
RANDO_ENUM_ITEM(RT_FOREST_MQ_JS_HALLWAY_SWITCH)
RANDO_ENUM_ITEM(RT_FOREST_MQ_HOOKSHOT_HALLWAY_SWITCH)
RANDO_ENUM_ITEM(RT_FOREST_MQ_RANG_HALLWAY_SWITCH)
RANDO_ENUM_ITEM(RT_FOREST_MQ_CHILD_DOORFRAME)
RANDO_ENUM_ITEM(RT_FIRE_SOT)
RANDO_ENUM_ITEM(RT_FIRE_STRENGTH)
RANDO_ENUM_ITEM(RT_FIRE_SCARECROW)
RANDO_ENUM_ITEM(RT_FIRE_SKIP_FLAME_WALLS)
RANDO_ENUM_ITEM(RT_FIRE_MQ_NEAR_BOSS)
RANDO_ENUM_ITEM(RT_FIRE_MQ_BLOCKED_CHEST)
RANDO_ENUM_ITEM(RT_FIRE_MQ_BK_CHEST)
RANDO_ENUM_ITEM(RT_FIRE_MQ_CLIMB)
RANDO_ENUM_ITEM(RT_FIRE_MQ_MAZE_SIDE_ROOM)
RANDO_ENUM_ITEM(RT_FIRE_MQ_MAZE_HOVERS)
RANDO_ENUM_ITEM(RT_FIRE_MQ_MAZE_JUMP)
RANDO_ENUM_ITEM(RT_FIRE_MQ_ABOVE_MAZE_GS)
RANDO_ENUM_ITEM(RT_WATER_LONGSHOT_TORCH)
RANDO_ENUM_ITEM(RT_WATER_CRACKED_WALL_HOVERS)
RANDO_ENUM_ITEM(RT_WATER_CRACKED_WALL)
RANDO_ENUM_ITEM(RT_WATER_BK_REGION)
RANDO_ENUM_ITEM(RT_WATER_NORTH_BASEMENT_LEDGE_JUMP)
RANDO_ENUM_ITEM(RT_WATER_FW_CENTRAL_GS)
RANDO_ENUM_ITEM(RT_WATER_IRONS_CENTRAL_GS)
RANDO_ENUM_ITEM(RT_WATER_CENTRAL_BOW)
RANDO_ENUM_ITEM(RT_WATER_HOOKSHOT_FALLING_PLATFORM_GS)
RANDO_ENUM_ITEM(RT_WATER_RANG_FALLING_PLATFORM_GS)
RANDO_ENUM_ITEM(RT_WATER_RIVER_GS)
RANDO_ENUM_ITEM(RT_WATER_DRAGON_JUMP_DIVE)
RANDO_ENUM_ITEM(RT_WATER_ADULT_DRAGON)
RANDO_ENUM_ITEM(RT_WATER_CHILD_DRAGON)
RANDO_ENUM_ITEM(RT_WATER_MQ_CENTRAL_PILLAR)
RANDO_ENUM_ITEM(RT_WATER_IRON_BOOTS_LEDGE_GRAB)
RANDO_ENUM_ITEM(RT_WATER_INVISIBLE_HOOKSHOT_TARGET)
RANDO_ENUM_ITEM(RT_WATER_MORPHA_WITHOUT_HOOKSHOT)
RANDO_ENUM_ITEM(RT_LENS_SHADOW)
RANDO_ENUM_ITEM(RT_LENS_SHADOW_PLATFORM)
RANDO_ENUM_ITEM(RT_LENS_BONGO)
RANDO_ENUM_ITEM(RT_SHADOW_UMBRELLA_HOVER)
RANDO_ENUM_ITEM(RT_SHADOW_UMBRELLA_CLIP)
RANDO_ENUM_ITEM(RT_SHADOW_UMBRELLA_GS)
RANDO_ENUM_ITEM(RT_SHADOW_FREESTANDING_KEY)
RANDO_ENUM_ITEM(RT_SHADOW_STATUE)
RANDO_ENUM_ITEM(RT_SHADOW_BONGO)
RANDO_ENUM_ITEM(RT_LENS_SHADOW_MQ)
RANDO_ENUM_ITEM(RT_LENS_SHADOW_MQ_INVISIBLE_BLADES)
RANDO_ENUM_ITEM(RT_LENS_SHADOW_MQ_PLATFORM)
RANDO_ENUM_ITEM(RT_LENS_SHADOW_MQ_DEADHAND)
RANDO_ENUM_ITEM(RT_SHADOW_MQ_GAP)
RANDO_ENUM_ITEM(RT_SHADOW_MQ_INVISIBLE_BLADES)
RANDO_ENUM_ITEM(RT_SHADOW_MQ_HUGE_PIT)
RANDO_ENUM_ITEM(RT_SHADOW_MQ_WINDY_WALKWAY)
RANDO_ENUM_ITEM(RT_LENS_SPIRIT)
RANDO_ENUM_ITEM(RT_SPIRIT_CHILD_CHU)
RANDO_ENUM_ITEM(RT_SPIRIT_WEST_LEDGE)
RANDO_ENUM_ITEM(RT_SPIRIT_LOWER_ADULT_SWITCH)
RANDO_ENUM_ITEM(RT_SPIRIT_STATUE_JUMP)
RANDO_ENUM_ITEM(RT_SPIRIT_PLATFORM_HOOKSHOT)
RANDO_ENUM_ITEM(RT_SPIRIT_MAP_CHEST)
RANDO_ENUM_ITEM(RT_SPIRIT_SUN_CHEST)
RANDO_ENUM_ITEM(RT_SPIRIT_WALL)
RANDO_ENUM_ITEM(RT_LENS_SPIRIT_MQ)
RANDO_ENUM_ITEM(RT_SPIRIT_MQ_SUN_BLOCK_SOT)
RANDO_ENUM_ITEM(RT_SPIRIT_MQ_SUN_BLOCK_GS)
RANDO_ENUM_ITEM(RT_SPIRIT_MQ_LOWER_ADULT)
RANDO_ENUM_ITEM(RT_SPIRIT_MQ_FROZEN_EYE)
RANDO_ENUM_ITEM(RT_ICE_STALAGMITE_CLIP)
RANDO_ENUM_ITEM(RT_ICE_STALAGMITE_HOOKSHOT)
RANDO_ENUM_ITEM(RT_ICE_BLOCK_GS)
RANDO_ENUM_ITEM(RT_ICE_MQ_RED_ICE_GS)
RANDO_ENUM_ITEM(RT_ICE_MQ_SCARECROW)
RANDO_ENUM_ITEM(RT_LENS_GTG)
RANDO_ENUM_ITEM(RT_GTG_WITHOUT_HOOKSHOT)
RANDO_ENUM_ITEM(RT_GTG_FAKE_WALL)
RANDO_ENUM_ITEM(RT_GTG_LAVA_JUMP)
RANDO_ENUM_ITEM(RT_LENS_GTG_MQ)
RANDO_ENUM_ITEM(RT_GTG_MQ_WITH_HOOKSHOT)
RANDO_ENUM_ITEM(RT_GTG_MQ_WITHOUT_HOOKSHOT)
RANDO_ENUM_ITEM(RT_LENS_GANON)
RANDO_ENUM_ITEM(RT_GANON_SPIRIT_TRIAL_HOOKSHOT)
RANDO_ENUM_ITEM(RT_LENS_GANON_MQ)
RANDO_ENUM_ITEM(RT_GANON_MQ_FIRE_TRIAL)
RANDO_ENUM_ITEM(RT_GANON_MQ_SHADOW_TRIAL)
RANDO_ENUM_ITEM(RT_GANON_MQ_LIGHT_TRIAL)
// RT_ROCS_FEATHER --if implemented with main branch
RANDO_ENUM_ITEM(RT_FOREST_TEMPLE_BK_SKIP)
RANDO_ENUM_ITEM(RT_FIRE_TEMPLE_BK_SKIP)
RANDO_ENUM_ITEM(RT_WATER_TEMPLE_BK_SKIP)
RANDO_ENUM_ITEM(RT_SHADOW_TEMPLE_BK_SKIP)
RANDO_ENUM_ITEM(RT_SPIRIT_BK_SKIP)
RANDO_ENUM_ITEM(RT_ACUTE_ANGLE_CLIP)
RANDO_ENUM_ITEM(RT_ADVANCED_CLIPS)
RANDO_ENUM_ITEM(RT_BIG_SKULLTULA_PAUSE_LIFT)
RANDO_ENUM_ITEM(RT_BLANK_A)
RANDO_ENUM_ITEM(RT_CUTSCENE_DIVE)
RANDO_ENUM_ITEM(RT_DOOM_JUMP)
RANDO_ENUM_ITEM(RT_EPG)
RANDO_ENUM_ITEM(RT_EQUIP_SWAP)
RANDO_ENUM_ITEM(RT_EQUIP_SWAP_EXPECTS_DINS)
RANDO_ENUM_ITEM(RT_FLAME_STORAGE)
RANDO_ENUM_ITEM(RT_FW_VOID_WARP)
RANDO_ENUM_ITEM(RT_GROUND_CLIP)
RANDO_ENUM_ITEM(RT_GROUND_JUMP)
RANDO_ENUM_ITEM(RT_GROUND_JUMP_HARD)
RANDO_ENUM_ITEM(RT_HESS)
RANDO_ENUM_ITEM(RT_HOOKSHOT_CLIP)
RANDO_ENUM_ITEM(RT_HOOKSHOT_JUMP)
RANDO_ENUM_ITEM(RT_HOVERING)
RANDO_ENUM_ITEM(RT_HOVERING_BOW_SLINGSHOT)
RANDO_ENUM_ITEM(RT_HOVERING_CONTORTION)
RANDO_ENUM_ITEM(RT_HOVERING_ENEMY)
RANDO_ENUM_ITEM(RT_HOVERING_HOVERBOOTS)
RANDO_ENUM_ITEM(RT_HOVERING_WALL)
RANDO_ENUM_ITEM(RT_ISG)
RANDO_ENUM_ITEM(RT_LADDER_CLIP)
RANDO_ENUM_ITEM(RT_LADDER_CLIP_HOOKSHOT)
RANDO_ENUM_ITEM(RT_LEDGE_CANCEL)
RANDO_ENUM_ITEM(RT_LEDGE_CLIP)
RANDO_ENUM_ITEM(RT_LUNGE_STORAGE)
RANDO_ENUM_ITEM(RT_MEGAFLIP_BOMB)
RANDO_ENUM_ITEM(RT_MEGAFLIP_BOMBCHU)
RANDO_ENUM_ITEM(RT_MEGASIDEHOP_BOMB)
RANDO_ENUM_ITEM(RT_MEGASIDEHOP_BOMBCHU)
RANDO_ENUM_ITEM(RT_NAVI_DIVE)
RANDO_ENUM_ITEM(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE)
RANDO_ENUM_ITEM(RT_LOST_WOOD_NAVI_DIVE)
RANDO_ENUM_ITEM(RT_OCARINA_ITEMS)
RANDO_ENUM_ITEM(RT_OCARINA_ITEMS_BOMB)
RANDO_ENUM_ITEM(RT_OCARINA_ITEMS_ESS)
RANDO_ENUM_ITEM(RT_OCARINA_ITEMS_PUTAWAY)
RANDO_ENUM_ITEM(RT_QUICKDRAW)
RANDO_ENUM_ITEM(RT_QUICK_PUTAWAY)
RANDO_ENUM_ITEM(RT_SEEMWALK)
RANDO_ENUM_ITEM(RT_SUPERSLIDE)
RANDO_ENUM_ITEM(RT_SUPERSLIDE_TELEPORT)
RANDO_ENUM_ITEM(RT_TIME_STOP)
RANDO_ENUM_ITEM(RT_TRIPLE_SLASH_CLIP)
RANDO_ENUM_ITEM(RT_VINE_CLIP)
RANDO_ENUM_ITEM(RT_WEIRDSHOT)
RANDO_ENUM_ITEM(RT_WEIRDSHOT_CHU)
RANDO_ENUM_ITEM(RT_WEIRDSHOT_ENEMY)
// RANDO_ENUM_ITEM(RT_FW_VOID_WARP_FAST_TEXT) --untested tricks:
// RANDO_ENUM_ITEM(RT_ACTION_SWAP)
// RANDO_ENUM_ITEM(RT_ACTOR_GLITCH)
// RANDO_ENUM_ITEM(RT_ADULT_TRADE_TTG)
RANDO_ENUM_ITEM(RT_TOT_DOT_SKIP_SWORDLESS) // AREA SPECIFIC GLITCHES
RANDO_ENUM_ITEM(RT_TOT_DOT_SKIP_SWORD)
RANDO_ENUM_ITEM(RT_LLR_STEAL_EPONA)
RANDO_ENUM_ITEM(RT_KF_POKEY_SKIP)
RANDO_ENUM_ITEM(RT_KF_MIDO_SKIP)
RANDO_ENUM_ITEM(RT_KF_CLIMB_TWINS_HOUSE)
RANDO_ENUM_ITEM(RT_KF_DEKU_TREE_ADULT)
RANDO_ENUM_ITEM(RT_KF_WWT_ESCAPE)
RANDO_ENUM_ITEM(RT_LW_AQUAESCAPE)
RANDO_ENUM_ITEM(RT_LW_MIDO_SKIP_ADULT)
RANDO_ENUM_ITEM(RT_OGC_GOLD_GAUNTLET_SKIP)
RANDO_ENUM_ITEM(RT_GY_ROYAL_TOMB)
RANDO_ENUM_ITEM(RT_ZF_JABU_ADULT_BOMBCHU)
RANDO_ENUM_ITEM(RT_ZF_JABU_ADULT_HOVERBOOT_BOMB)
RANDO_ENUM_ITEM(RT_FOREST_TEMPLE_FOUR_POE_SKIP)
RANDO_ENUM_ITEM(RT_FOREST_TEMPLE_JUNGLE_JUMP)
// RANDO_ENUM_ITEM(RT_DARUNIA_CUTSCENE)
RANDO_ENUM_ITEM(RT_BOTTOM_OF_THE_WELL_SKULL_PUSH)
RANDO_ENUM_ITEM(RT_GANONS_CASTLE_BARRIER_SKIP_HOVER)
RANDO_ENUM_ITEM(RT_GANONS_CASTLE_GOLD_GAUNTLET_SKIP)
RANDO_ENUM_ITEM(RT_MAX)
RANDO_ENUM_END(RandomizerTrick)
#ifdef RANDO_ENUM_BEGIN_CLEANUP
#undef RANDO_ENUM_BEGIN
#undef RANDO_ENUM_BEGIN_CLEANUP
#endif
#ifdef RANDO_ENUM_ITEM_CLEANUP
#undef RANDO_ENUM_ITEM
#undef RANDO_ENUM_ITEM_CLEANUP
#endif
#ifdef RANDO_ENUM_END_CLEANUP
#undef RANDO_ENUM_END
#undef RANDO_ENUM_END_CLEANUP
#endif