papermario/include/enums.h
Alexander Faßbender beeb5627e6
Deduplicate various dead functions (#494)
* what is dead may never die

* resolve issues

* fixing dead_gPartnerActionStatus2

* .

* resolve issues

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2021-10-25 16:32:44 +02:00

1805 lines
51 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _ENUMS_H_
#define _ENUMS_H_
#include "ultra64.h"
#include "types.h"
enum StoryProgress {
STORY_INTRO = -128,
STORY_CH0_WAKE_UP,
STORY_CH0_MET_INNKEEPER,
STORY_UNUSED_FFFFFF83,
STORY_CH0_MET_GOOMPA,
STORY_CH0_GATE_CRUSHED,
STORY_CH0_FELL_OFF_CLIFF,
STORY_CH0_GOOMPA_JOINED_PARTY,
STORY_CH0_LOOKING_FOR_HAMMER,
STORY_CH0_FOUND_HAMMER,
STORY_CH0_DEFEATED_JR_TROOPA,
STORY_CH0_LEFT_THE_PLAYGROUND,
STORY_UNUSED_FFFFFF8C,
STORY_CH0_GOOMBARIO_JOINED_PARTY,
STORY_CH0_SMASHED_GATE_BLOCK,
STORY_CH0_DEFEATED_GOOMBA_BROS,
STORY_CH0_DEFEATED_GOOMBA_KING,
STORY_CH0_FOUND_GATEHOUSE_SWITCH,
STORY_CH0_HIT_GATEHOUSE_SWITCH,
STORY_CH0_OPENED_BRIDGE_TO_TOAD_TOWN,
STORY_CH0_KAMMY_RETURNED_TO_BOWSER,
STORY_CH0_ARRIVED_AT_TOAD_TOWN,
STORY_CH0_MET_STAR_SPIRITS,
STORY_CH0_BEGAN_PEACH_MISSION,
STORY_CH0_TWINK_GAVE_LUCKY_STAR,
STORY_CH0_RETURNED_TO_TOAD_TOWN,
STORY_CH1_SPOKE_WITH_MERLIN,
STORY_CH1_TOLD_MERLIN_ABOUT_DARK_TOADS,
STORY_CH1_MERLIN_REVEALED_KOOPA_BROS,
STORY_CH1_KNOCKED_SWITCH_FROM_TREE,
STORY_CH1_MADE_FIRST_BRIDGE,
STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE,
STORY_CH1_PROMISED_TO_HELP_KOOPER,
STORY_CH1_FUZZY_THIEF_LEFT_TOWN,
STORY_CH1_FUZZY_THIEF_RAN_AWAY,
STORY_CH1_FUZZY_THIEF_HID_IN_TREE,
STORY_CH1_KOOPER_JOINED_PARTY,
STORY_CH1_MADE_SECOND_BRIDGE,
STORY_CH1_ARRIVED_AT_KOOPA_FORTRESS,
STORY_CH1_SPOTTED_BY_KOOPA_BROS,
STORY_CH1_KOOPA_BROS_HID_KEY,
STORY_CH1_DEFEATED_BASEMENT_GUARD,
STORY_CH1_LOWERED_FIRST_STAIRS,
STORY_CH1_KOOPA_BROS_SET_TRAP,
STORY_CH1_MARIO_ACTIVATED_TRAP,
STORY_CH1_BOMBETTE_JOINED_PARTY,
STORY_CH1_DEFEATED_DUNGEON_GUARDS,
STORY_CH1_LOWERED_SECOND_STAIRS,
STORY_CH1_RAISED_SUBMERGED_STAIRS,
STORY_CH1_KOOPA_BROS_FIRING_BLASTERS,
STORY_CH1_DEFEATED_KOOPA_BROS,
STORY_CH1_STAR_SPIRIT_RESCUED,
STORY_CH1_BEGAN_PEACH_MISSION,
STORY_CH1_STAR_SPRIT_DEPARTED,
STORY_CH1_DEFEATED_JR_TROOPA,
STORY_CH1_RETURNED_TO_TOAD_TOWN,
STORY_CH2_ARRIVED_AT_MT_RUGGED,
STORY_CH2_SPOKE_WITH_PARAKARRY,
STORY_CH2_PARAKARRY_JOINED_PARTY,
STORY_CH2_ARRIVED_AT_DRY_DRY_DESERT,
STORY_CH2_ARRIVED_AT_DRY_DRY_OUTPOST,
STORY_CH2_SHADY_MOUSE_LEFT_SHOP,
STORY_CH2_SPOKE_WITH_SHEEK,
STORY_CH2_SHADY_MOUSE_ENTERED_SHOP,
STORY_CH2_BOUGHT_SECRET_ITEMS,
STORY_CH2_GOT_PULSE_STONE,
STORY_CH2_UNCOVERED_DRY_DRY_RUINS,
STORY_CH2_DRAINED_FIRST_SAND_ROOM,
STORY_CH2_DRAINED_SECOND_SAND_ROOM,
STORY_CH2_GOT_SUPER_HAMMER,
STORY_CH2_DRAINED_THIRD_SAND_ROOM,
STORY_CH2_SOLVED_ARTIFACT_PUZZLE,
STORY_CH2_DEFEATED_TUTANKOOPA,
STORY_CH2_STAR_SPIRIT_RESCUED,
STORY_CH2_BEGAN_PEACH_MISSION,
STORY_CH2_STAR_SPRIT_DEPARTED,
STORY_UNUSED_FFFFFFCC,
STORY_CH3_SAW_BOO_ENTER_FOREST,
STORY_CH3_INVITED_TO_BOOS_MANSION,
STORY_CH3_ALLOWED_INTO_FOREVER_FOREST,
STORY_CH3_ARRIVED_AT_BOOS_MANSION,
STORY_CH3_OPENED_BOOS_MANSION_GATE,
STORY_CH3_ENTERED_BOOS_MANSION,
STORY_CH3_TRIGGERED_DOOR_JUMP_SCARE,
STORY_CH3_GOT_RECORD,
STORY_CH3_PLAYED_THE_RECORD,
STORY_CH3_GOT_WEIGHT,
STORY_CH3_WEIGHED_DOWN_CHANDELIER,
STORY_CH3_GOT_SUPER_BOOTS,
STORY_CH3_HIT_HUGE_BLUE_SWITCH,
STORY_CH3_GOT_BOO_PORTRAIT,
STORY_CH3_RESTORED_BOO_PORTRAIT,
STORY_CH3_BOW_JOINED_PARTY,
STORY_CH3_UNLOCKED_GUSTY_GULCH,
STORY_CH3_ARRIVED_AT_GHOST_TOWN,
STORY_CH3_SAW_TUBBA_EAT_BOO,
STORY_CH3_ARRIVED_AT_TUBBAS_MANOR,
STORY_UNUSED_FFFFFFE1,
STORY_CH3_TUBBA_BEGAN_NAPPING,
STORY_CH3_TUBBA_WOKE_UP,
STORY_CH3_TUBBA_SMASHED_THE_BRIDGES,
STORY_CH3_TUBBA_CHASED_MARIO_IN_HALL,
STORY_CH3_TUBBA_CHASED_MARIO_IN_FOYER,
STORY_CH3_ESCAPED_TUBBAS_MANOR,
STORY_CH3_UNLOCKED_WINDY_MILL,
STORY_CH3_WENT_DOWN_THE_WELL,
STORY_CH3_HEART_FLED_FIRST_TUNNEL,
STORY_UNUSED_FFFFFFEB,
STORY_UNUSED_FFFFFFEC,
STORY_CH3_HEART_FLED_SECOND_TUNNEL,
STORY_CH3_HEART_ESCAPED_WELL,
STORY_CH3_HEART_ESCAPED_WINDY_MILL,
STORY_CH3_DEFEATED_TUBBA_BLUBBA,
STORY_CH3_STAR_SPIRIT_RESCUED,
STORY_CH3_BEGAN_PEACH_MISSION,
STORY_CH3_STAR_SPRIT_DEPARTED,
STORY_CH4_FRYING_PAN_STOLEN,
STORY_CH4_MET_WITH_TWINK,
STORY_CH4_FOUND_HIDDEN_DOOR,
STORY_CH4_ENTERED_THE_TOY_BOX,
STORY_CH4_GOT_STOREROOM_KEY,
STORY_CH4_RETURNED_STOREROOM_KEY,
STORY_CH4_GOT_TOY_TRAIN,
STORY_CH4_RETURNED_TOY_TRAIN,
STORY_CH4_GOT_FRYING_PAN,
STORY_CH4_GOT_TAYCE_TS_CAKE,
STORY_CH4_GAVE_CAKE_TO_GOURMET_GUY,
STORY_CH4_PULLED_SWITCH_SWITCH,
STORY_CH4_SOLVED_COLOR_PUZZLE,
STORY_CH4_DEFEATED_LANTERN_GHOST,
STORY_CH4_WATT_JOINED_PARTY,
STORY_CH4_OPENED_GENERAL_GUY_ROOM,
STORY_CH4_DEFEATED_GENERAL_GUY,
STORY_CH4_STAR_SPIRIT_RESCUED,
STORY_CH4_BEGAN_PEACH_MISSION,
STORY_CH4_STAR_SPRIT_DEPARTED,
STORY_CH5_WHALE_MOUTH_OPEN,
STORY_CH5_ENTERED_WHALE,
STORY_CH5_DEFEATED_FUZZIPEDE,
STORY_CH5_REACHED_LAVA_LAVA_ISLAND,
STORY_CH5_KOLORADO_ESCAPED_FUZZIES,
STORY_CH5_KOLORADO_ESCAPED_SPEAR_GUYS,
STORY_CH5_YOSHI_CHILDREN_ARE_MISSING,
STORY_CH5_SUSHIE_JOINED_PARTY,
STORY_CH5_ALL_YOSHI_CHILDREN_RESCUED,
STORY_CH5_GOT_JADE_RAVEN,
STORY_CH5_MOVED_RAVEN_STATUE,
STORY_CH5_DEFEATED_PIRANHAS_MINIBOSS,
STORY_CH5_REACHED_RAFAELS_TREE,
STORY_CH5_RAFAEL_LEFT_NEST,
STORY_CH5_RAFAEL_MOVED_ROOT,
STORY_CH5_RAFAEL_WAITING_FOR_MARIO,
STORY_CH5_ZIP_LINE_READY,
STORY_CH5_ENTERED_MT_LAVA_LAVA,
STORY_CH5_KOLORADO_FELL_IN_LAVA,
STORY_CH5_LAVA_STREAM_BLOCKED,
STORY_CH5_GOT_ULTRA_HAMMER,
STORY_CH5_SMASHED_ULTRA_BLOCK,
STORY_CH5_KOLORADO_FELL_IN_PIT,
STORY_CH5_KOLORADO_AT_DEAD_END,
STORY_CH5_HIDDEN_PASSAGE_OPEN,
STORY_CH5_KOLORADO_RAN_AHEAD,
STORY_CH5_KOLORADO_IN_TREASURE_ROOM,
STORY_CH5_DEFEATED_LAVA_PIRANHA,
STORY_CH5_MT_LAVA_LAVA_ERUPTING,
STORY_CH5_OPENED_ESCAPE_ROUTE,
STORY_CH5_BEGAN_PEACH_MISSION,
STORY_CH5_STAR_SPRIT_DEPARTED,
STORY_CH5_TRADED_VASE_FOR_SEED,
STORY_CH5_RETURNED_TO_TOAD_TOWN,
STORY_CH6_FLOWER_GATE_OPEN,
STORY_CH6_ARRIVED_AT_FLOWER_FIELDS,
STORY_CH6_ASKED_TO_DEFEAT_MONTY_MOLES,
STORY_CH6_GOT_MAGICAL_BEAN,
STORY_CH6_GOT_FERTILE_SOIL,
STORY_CH6_GOT_CRYSTAL_BERRY,
STORY_CH6_GOT_WATER_STONE,
STORY_CH6_FILLED_SPRING_WITH_WATER,
STORY_CH6_SPOKE_WITH_THE_SUN,
STORY_CH6_LAKILESTER_JOINED_PARTY,
STORY_CH6_DEFEATED_PUFF_PUFF_GUARDS,
STORY_CH6_DESTROYED_PUFF_PUFF_MACHINE,
STORY_CH6_WISTERWOOD_GAVE_HINT,
STORY_CH6_GREW_MAGIC_BEANSTALK,
STORY_CH6_DEFEATED_HUFF_N_PUFF,
STORY_CH6_STAR_SPIRIT_RESCUED,
STORY_CH6_BEGAN_PEACH_MISSION,
STORY_CH6_STAR_SPRIT_DEPARTED,
STORY_CH6_RETURNED_TO_TOAD_TOWN,
STORY_CH7_INVITED_TO_STARBORN_VALLEY,
STORY_CH7_ARRIVED_AT_SHIVER_CITY,
STORY_CH7_MAYOR_MURDER_MYSTERY,
STORY_CH7_SHATTERED_FROZEN_POND,
STORY_CH7_SPOKE_WITH_HERRINGWAY,
STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE,
STORY_CH7_MAYOR_MURDER_SOLVED,
STORY_CH7_DEFEATED_JR_TROOPA,
STORY_CH7_DEFEATED_MONSTAR,
STORY_CH7_ARRIVED_AT_STARBORN_VALLEY,
STORY_CH7_MERLE_APOLOGIZED,
STORY_CH7_GOT_SNOWMAN_SCARF,
STORY_CH7_GOT_SNOWMAN_BUCKET,
STORY_CH7_UNLOCKED_SHIVER_MOUNTAIN,
STORY_CH7_DEFEATED_FIRST_DUPLIGHOST,
STORY_CH7_GOT_STAR_STONE,
STORY_CH7_RAISED_FROZEN_STAIRS,
STORY_CH7_ARRIVED_AT_CRYSTAL_PALACE,
STORY_CH7_DEFEATED_MIRROR_DUPLIGHOSTS,
STORY_CH7_DEFEATED_BOMBETTE_DUPLIGHOSTS,
STORY_CH7_DEFEATED_CLUBBAS,
STORY_CH7_DEFEATED_KOOPER_DUPLIGHOSTS,
STORY_CH7_EXTENDED_PALACE_BRIDGE,
STORY_CH7_FOUND_HIDDEN_ROOM_UNDER_STATUE,
STORY_CH7_SOLVED_ALBINO_DINO_PUZZLE,
STORY_CH7_DEFEATED_CRYSTAL_KING,
STORY_CH7_STAR_SPIRIT_RESCUED,
STORY_CH7_BEGAN_PEACH_MISSION,
STORY_CH7_STAR_SPRIT_DEPARTED,
STORY_CH8_OPENED_PATH_TO_STAR_WAY,
STORY_CH8_REACHED_STAR_HAVEN,
STORY_CH8_STAR_SHIP_ACTIVATED,
STORY_UNUSED_5D,
STORY_CH8_REACHED_BOWSERS_CASTLE,
STORY_CH8_REACHED_PEACHS_CASTLE,
STORY_EPILOGUE,
};
enum EncounterTriggers {
ENCOUNTER_TRIGGER_NONE = 1,
ENCOUNTER_TRIGGER_JUMP,
ENCOUNTER_TRIGGER_SPIN,
ENCOUNTER_TRIGGER_HAMMER,
ENCOUNTER_TRIGGER_CONVERSATION,
ENCOUNTER_TRIGGER_PARTNER,
};
enum SongIDs {
SONG_TOAD_TOWN = 0,
SONG_UNUSED_1,
SONG_NORMAL_BATTLE,
SONG_SPECIAL_BATTLE,
SONG_JR_TROOPA_BATTLE,
SONG_FINAL_BOWSER_BATTLE,
SONG_UNUSED_6,
SONG_GOOMBA_KING_BATTLE,
SONG_KOOPA_BROS_BATTLE,
SONG_FAKE_BOWSER_BATTLE,
SONG_TUTANKOOPA_BATTLE,
SONG_TUBBA_BLUBBA_BATTLE,
SONG_GENERAL_GUY_BATTLE,
SONG_LAVA_PIRANHA_BATTLE,
SONG_HUFF_N_PUFF_BATTLE,
SONG_CRYSTAL_KING_BATTLE,
SONG_GOOMBA_VILLAGE,
SONG_PLEASANT_PATH,
SONG_FUZZY_ATTACK,
SONG_KOOPA_VILLAGE,
SONG_KOOPA_FORTRESS,
SONG_DRY_DRY_OUTPOST,
SONG_MT_RUGGED,
SONG_DRY_DRY_DESERT,
SONG_DRY_DRY_RUINS,
SONG_RUINS_BASEMENT,
SONG_FOREVER_FOREST,
SONG_BOOS_MANSION,
SONG_CHEERFUL_BOOS_MANSION,
SONG_GUSTY_GULCH,
SONG_TUBBAS_MANOR,
SONG_TUBBA_ESCAPE,
SONG_SHY_GUY_TOYBOX,
SONG_TOYBOX_TRAIN,
SONG_CREEPY_TOYBOX,
SONG_UNUSED_35,
SONG_JADE_JUNGLE,
SONG_DEEP_JUNGLE,
SONG_YOSHIS_VILLAGE,
SONG_YOSHIS_PANIC,
SONG_RAPHAEL_RAVEN,
SONG_MT_LAVALAVA,
SONG_VOLCANO_ESCAPE,
SONG_STAR_WAY_OPENS,
SONG_MASTER_BATTLE,
SONG_RADIO_ISLAND_SOUNDS,
SONG_RADIO_HOT_HITS,
SONG_RADIO_GOLDEN_OLDIES,
SONG_FLOWER_FIELDS_CLOUDY,
SONG_FLOWER_FIELDS_SUNNY,
SONG_CLOUDY_CLIMB,
SONG_PUFF_PUFF_MACHINE,
SONG_SUN_TOWER_CLOUDY,
SONG_SUN_TOWER_SUNNY,
SONG_UNUSED_54,
SONG_CRYSTAL_PALACE,
SONG_SHIVER_CITY,
SONG_PENGUIN_MYSTERY,
SONG_SHIVER_SNOWFIELD,
SONG_SHIVER_MOUNTAIN,
SONG_STARBORN_VALLEY,
SONG_MERLAR_THEME,
SONG_MAIL_CALL,
SONG_PEACHS_CASTLE_PARTY,
SONG_CHAPTER_END,
SONG_CHAPTER_START,
SONG_ITEM_UPGRADE,
SONG_UNUSED_67,
SONG_PHONOGRAPH_MUSIC,
SONG_TUTANKOOPA_THEME,
SONG_KAMMY_KOOPA_THEME,
SONG_JR_TROOPA_THEME,
SONG_BULLET_BILL_ASSAULT,
SONG_MONTY_MOLE_ASSAULT,
SONG_SHY_GUY_INVASION,
SONG_TOAD_TOWN_TUNNELS,
SONG_WHALE_THEME,
SONG_FOREVER_FOREST_WARNING,
SONG_YOSHI_KIDS_FOUND,
SONG_UNUSED_FANFARE,
SONG_GOOMBA_KING_THEME,
SONG_KOOPA_BROS_INTERLUDE,
SONG_KOOPA_BROS_THEME,
SONG_TUTANKOOPA_WARNING,
SONG_TUTANKOOPA_REVEALED,
SONG_TUBBA_BLUBBA_THEME,
SONG_GENERAL_GUY_THEME,
SONG_LAVA_PIRANHA_THEME,
SONG_HUFF_N_PUFF_THEME,
SONG_CRYSTAL_KING_THEME,
SONG_BLOOPER_THEME,
SONG_MINIBOSS_BATTLE,
SONG_MONSTAR_THEME,
SONG_CLUB64,
SONG_UNUSED_OPENING,
SONG_BOWSERS_CASTLE_FALLS,
SONG_STAR_HAVEN,
SONG_SHOOTING_STAR_SUMMIT,
SONG_STARSHIP_THEME,
SONG_STAR_SANCTUARY,
SONG_BOWSERS_CASTLE,
SONG_BOWSERS_CASTLE_CAVES,
SONG_BOWSER_THEME,
SONG_BOWSER_BATTLE,
SONG_PEACH_WISHES,
SONG_FILE_SELECT,
SONG_MAIN_THEME,
SONG_BOWSER_ATTACKS,
SONG_MARIO_FALLS,
SONG_PEACH_APPEARS,
SONG_THE_END,
SONG_RECOVERED_STAR_ROD,
SONG_TWINK_THEME,
SONG_STIRRING_CAKE,
SONG_GOURMET_GUY_FREAKOUT,
SONG_PRISONER_PEACH_THEME,
SONG_PEACH_MISSION,
SONG_PEACH_SNEAKING,
SONG_PEACH_CAUGHT,
SONG_PEACH_QUIZ_INTRO,
SONG_STAR_SPIRIT_THEME,
SONG_PENGUIN_WHODUNIT,
SONG_PENGUIN_WAKES_UP,
SONG_MAGIC_BEANSTALK,
SONG_MERLEE_SPELL,
SONG_LAKILESTER_THEME,
SONG_GOOMBA_BROS_RETREAT,
SONG_SUNSHINE_RETURNS,
SONG_RIDING_THE_RAILS,
SONG_RIDING_THE_WHALE,
SONG_NEW_PARTNER,
SONG_DRY_DRY_RUINS_APPEAR,
SONG_CANDY_CANES,
SONG_PLAYROOM,
SONG_MOUSTAFA_THEME,
SONG_GAME_OVER,
SONG_TAKING_REST,
SONG_FLOWER_N_P_C_THEME,
SONG_FLOWER_GATE_APPEARS,
SONG_BATTLE_END,
SONG_POP_DIVA_SONG,
SONG_BOO_MINIGAME,
SONG_LEVEL_UP,
SONG_UNUSED_143,
SONG_PARADE_DAY,
SONG_PARADE_NIGHT,
SONG_UNUSED_146,
SONG_UNUSED_147,
SONG_MARIO_BROS_HOUSE,
SONG_INTRO_STORY,
SONG_NEW_PARTNER_J_P,
};
enum Abilities {
ABILITY_DODGE_MASTER,
ABILITY_UNUSED,
ABILITY_SPIKE_SHIELD,
ABILITY_FIRST_ATTACK,
ABILITY_HP_PLUS,
ABILITY_DOUBLE_DIP,
ABILITY_MYSTERY_SCROLL,
ABILITY_FIRE_SHIELD,
ABILITY_PRETTY_LUCKY,
ABILITY_HP_DRAIN,
ABILITY_ALL_OR_NOTHING,
ABILITY_SLOW_GO,
ABILITY_FP_PLUS,
ABILITY_ICE_POWER,
ABILITY_FEELING_FINE,
ABILITY_ATTACK_F_X,
ABILITY_MONEY_MONEY,
ABILITY_CHILL_OUT,
ABILITY_HAPPY_HEART,
ABILITY_ZAP_TAP,
ABILITY_MEGA_RUSH,
ABILITY_BERSERKER,
ABILITY_RIGHT_ON,
ABILITY_RUNAWAY_PAY,
ABILITY_FLOWER_SAVER,
ABILITY_PAY_OFF,
ABILITY_QUICK_CHANGE,
ABILITY_DEFEND_PLUS,
ABILITY_POWER_PLUS,
ABILITY_REFUND,
ABILITY_POWER_RUSH,
ABILITY_CRAZY_HEART,
ABILITY_LAST_STAND,
ABILITY_CLOSE_CALL,
ABILITY_P_UP_D_DOWN,
ABILITY_LUCKY_DAY,
ABILITY_MEGA_HP_DRAIN,
ABILITY_P_DOWN_D_UP,
ABILITY_FLOWER_FANATIC,
ABILITY_SPEEDY_SPIN,
ABILITY_SPIN_ATTACK,
ABILITY_I_SPY,
ABILITY_BUMP_ATTACK,
ABILITY_HEART_FINDER,
ABILITY_FLOWER_FINDER,
ABILITY_DIZZY_ATTACK,
ABILITY_FINAL_GOOMPA,
ABILITY_FINAL_BOMBOMB,
ABILITY_DEEP_FOCUS,
ABILITY_SUPER_FOCUS,
ABILITY_KAIDEN,
ABILITY_DAMAGE_DODGE,
ABILITY_HAPPY_FLOWER,
ABILITY_GROUP_FOCUS,
ABILITY_PEEKABOO,
ABILITY_HEALTHY_HEALTHY,
};
enum Emotes {
EMOTE_EXCLAMATION,
EMOTE_SHOCK,
EMOTE_QUESTION,
EMOTE_FRUSTRATION,
EMOTE_ELLIPSIS,
EMOTE_INVALID,
};
enum Easings {
EASING_LINEAR,
EASING_QUADRATIC_IN,
EASING_CUBIC_IN,
EASING_QUARTIC_IN,
EASING_QUADRATIC_OUT,
EASING_CUBIC_OUT,
EASING_QUARTIC_OUT,
EASING_COS_SLOW_OVERSHOOT,
EASING_COS_FAST_OVERSHOOT,
EASING_COS_BOUNCE,
EASING_COS_IN_OUT,
EASING_SIN_OUT,
EASING_COS_IN,
};
enum SoundIDs {
SOUND_UNKNOWN_0,
SOUND_MENU_BADGE_EQUIP = 5,
SOUND_MENU_BADGE_UNEQUIP = 6,
SOUND_UNKNOWN_D = 13,
SOUND_UNKNOWN_E = 14,
SOUND_UNKNOWN_43 = 67,
SOUND_JR_TROOPA_SPLASH = 69,
SOUND_JR_TROOPA_SWIM,
SOUND_BOO_SPOOK,
SOUND_UNKNOWN_52 = 82,
SOUND_UNKNOWN_A2 = 162,
SOUND_UNKNOWN_B4 = 180,
SOUND_BOO_VANISH = 193,
SOUND_BOO_APPEAR = 195,
SOUND_MENU_OPEN = 197,
SOUND_MENU_CLOSE,
SOUND_MENU_CHANGE_SELECTION,
SOUND_MENU_CHANGE_TAB,
SOUND_MENU_NEXT,
SOUND_MENU_BACK,
SOUND_E1 = 225,
SOUND_E2,
SOUND_E3,
SOUND_E9 = 233,
SOUND_EA,
SOUND_FREEZE,
SOUND_10C = 268,
SOUND_10D,
SOUND_STEP1 = 321,
SOUND_STEP2,
SOUND_TORNADO_JUMP = 327,
SOUND_SOFT_LAND,
SOUND_LAND = 331,
SOUND_HIT_BLOCK = 334,
SOUND_SEARCH_BUSH = 339,
SOUND_UNKNOWN_162 = 354,
SOUND_SMASH_GOOMNUT_TREE = 357,
SOUND_UNKNOWN_167 = 359,
SOUND_UNKNOWN_172 = 370,
SOUND_UNKNOWN_17B = 379,
SOUND_UNKNOWN_194 = 404,
SOUND_BASIC_DOOR_OPEN = 449,
SOUND_BASIC_DOOR_CLOSE,
SOUND_METAL_DOOR_OPEN,
SOUND_METAL_DOOR_CLOSE,
SOUND_LARGE_DOOR_OPEN,
SOUND_LARGE_DOOR_CLOSE,
SOUND_CREAKY_DOOR_OPEN,
SOUND_CREAKY_DOOR_CLOSE,
SOUND_METAL_GATE_OPEN,
SOUND_METAL_GATE_CLOSE,
SOUND_MENU_BADGE_ERROR = 541,
SOUND_UNKNOWN_231 = 561,
SOUND_UNKNOWN_246 = 582,
SOUND_UNKNOWN_259 = 601,
SOUND_UNKNOWN_25A,
SOUND_UNKNOWN_25C = 604,
SOUND_UNKNOWN_25D,
SOUND_UNKNOWN_262 = 610,
SOUND_UNKNOWN_282 = 642,
SOUND_BOW_SPOOK = 657,
SOUND_UNUSED_2C1 = 705,
SOUND_SMOKE_BURST = 717,
SOUND_DAYZEE_SONG = 727,
SOUND_POWER_UP,
SOUND_UNKNOWN_2F1 = 753,
SOUND_UNKNOWN_2F6 = 758,
SOUND_UNKNOWN_2F7 = 759,
SOUND_CLOSE_SHELL = 767,
SOUND_SHY_GUY_SCREAMS1 = 780,
SOUND_SHY_GUY_SCREAMS2,
SOUND_SHY_GUY_SCREAMS3,
SOUND_TOY_TANK_MOVE1,
SOUND_TOY_TANK_MOVE2,
SOUND_UNKNOWN_315 = 789,
SOUND_MOLE_SURFACE = 801,
SOUND_MOLE_DIG,
SOUND_MOLE_POP,
SOUND_UNKNOWN_32E = 814,
SOUND_UNKNOWN_361 = 865,
SOUND_UNKNOWN_362,
SOUND_UNKNOWN_363,
SOUND_UNKNOWN_364,
SOUND_UNKNOWN_365,
SOUND_UNKNOWN_366,
SOUND_UNKNOWN_367,
SOUND_UNKNOWN_368,
SOUND_UNKNOWN_369,
SOUND_UNKNOWN_375 = 885,
SOUND_UNKNOWN_376,
SOUND_UNKNOWN_377,
SOUND_UNKNOWN_379 = 889,
SOUND_37A = 890,
SOUND_37B,
SOUND_GENERAL_WHISTLE = 917,
SOUND_OPEN_SHELL = 980,
SOUND_JUMP_3E2 = 994,
SOUND_MISS_JUMP,
SOUND_DEATH = 997,
SOUND_BIG_POWER_UP,
SOUND_MOLE_THROW = 1000,
SOUND_UNKNOWN_3F3 = 1011,
SOUND_THROW = 1018,
SOUND_UNKNOWN_2003 = 8195,
SOUND_UNKNOWN_200D = 8205,
SOUND_BOW_VANISH,
SOUND_BOW_APPEAR,
SOUND_UNKNOWN_2010,
SOUND_CANNON1 = 8214,
SOUND_CANNON2,
SOUND_CANNON3,
SOUND_UNKNOWN_202C = 8236,
SOUND_UNKNOWN_202D,
SOUND_UNKNOWN_202E,
SOUND_UNKNOWN_202F,
SOUND_UNKNOWN_2030,
SOUND_INFLICT_SLEEP,
SOUND_INFLICT_STATUS, //< Stop, poison, paralyze
SOUND_UNKNOWN_2038 = 8248,
SOUND_UNKNOWN_2039,
SOUND_BOMB_BLAST = 8310,
SOUND_JUMP_2081 = 8321,
SOUND_JUMP_8BIT_MARIO = 8322,
SOUND_UNKNOWN_208C = 8332,
SOUND_UNKNOWN_208D,
SOUND_UNKNOWN_208E,
SOUND_UNKNOWN_208F,
SOUND_UNKNOWN_2095 = 8341,
SOUND_SPELL_CAST1 = 8404,
SOUND_SPELL_CAST2,
SOUND_SPELL_CAST3,
SOUND_SPELL_CAST4,
SOUND_SPELL_CAST5,
SOUND_UNKNOWN_20F6 = 8438,
SOUND_UNKNOWN_2106 = 8454,
};
enum Cams {
CAM_DEFAULT,
CAM_BATTLE,
CAM_TATTLE,
CAM_CAM3,
};
#define LOOKUP_ITEM(itemID) gItemTable[itemID & ~0xF0000]
enum ItemIDs {
ITEM_NONE,
ITEM_JUMP,
ITEM_SPIN_JUMP,
ITEM_TORNADO_JUMP,
ITEM_HAMMER,
ITEM_SUPER_HAMMER,
ITEM_ULTRA_HAMMER,
ITEM_LUCKY_STAR,
ITEM_MAP,
ITEM_BIG_MAP,
ITEM_FIRST_DEGREE_CARD,
ITEM_SECOND_DEGREE_CARD,
ITEM_THIRD_DEGREE_CARD,
ITEM_FOURTH_DEGREE_CARD,
ITEM_DIPLOMA,
ITEM_ULTRA_STONE,
ITEM_FORTRESS_KEY,
ITEM_RUINS_KEY,
ITEM_PULSE_STONE,
ITEM_CASTLE_KEY1,
ITEM_PALACE_KEY,
ITEM_LUNAR_STONE,
ITEM_PYRAMID_STONE,
ITEM_DIAMOND_STONE,
ITEM_GOLDEN_VASE,
ITEM_KOOPERS_SHELL,
ITEM_CASTLE_KEY2,
ITEM_FOREST_PASS,
ITEM_WEIGHT,
ITEM_BOOS_PORTRAIT,
ITEM_CRYSTAL_BERRY,
ITEM_MYSTICAL_KEY,
ITEM_STOREROOM_KEY,
ITEM_TOY_TRAIN,
ITEM_RECORD,
ITEM_FRYING_PAN,
ITEM_DICTIONARY,
ITEM_MYSTERY_NOTE,
ITEM_SUSPICIOUS_NOTE,
ITEM_CRYSTAL_BALL,
ITEM_SCREWDRIVER,
ITEM_COOKBOOK,
ITEM_JADE_RAVEN,
ITEM_MAGICAL_SEED1,
ITEM_MAGICAL_SEED2,
ITEM_MAGICAL_SEED3,
ITEM_MAGICAL_SEED4,
ITEM_TOAD_DOLL,
ITEM_CALCULATOR,
ITEM_BUCKET,
ITEM_SCARF,
ITEM_RED_KEY,
ITEM_BLUE_KEY,
ITEM_LETTER01 = 54,
ITEM_LETTER02,
ITEM_LETTER03,
ITEM_LETTER04,
ITEM_LETTER05,
ITEM_LETTER06,
ITEM_LETTER07,
ITEM_LETTER08,
ITEM_LETTER09,
ITEM_LETTER10 = 64,
ITEM_LETTER11,
ITEM_LETTER12 = 69,
ITEM_LETTER13,
ITEM_LETTER14,
ITEM_LETTER15,
ITEM_LETTER16,
ITEM_LETTER17,
ITEM_LETTER18,
ITEM_LETTER19,
ITEM_LETTER20 = 78,
ITEM_LETTER21,
ITEM_LETTER22,
ITEM_LETTER23,
ITEM_LETTER24,
ITEM_ARTIFACT,
ITEM_LETTER25,
ITEM_DOLLY = 86,
ITEM_WATER_STONE,
ITEM_MAGICAL_BEAN,
ITEM_FERTILE_SOIL,
ITEM_MIRACLE_WATER,
ITEM_VOLCANO_VASE,
ITEM_TAPE,
ITEM_SUGAR,
ITEM_SALT,
ITEM_EGG1,
ITEM_CREAM,
ITEM_STRAWBERRY,
ITEM_BUTTER,
ITEM_CLEANSER,
ITEM_WATER,
ITEM_FLOUR,
ITEM_MILK,
ITEM_LYRICS,
ITEM_MELODY,
ITEM_MAILBAG,
ITEM_CASTLE_KEY3,
ITEM_ODD_KEY,
ITEM_STAR_STONE,
ITEM_SNEAKY_PARASOL,
ITEM_KOOPA_LEGENDS,
ITEM_AUTOGRAPH1,
ITEM_EMPTY_WALLET,
ITEM_AUTOGRAPH2,
ITEM_KOOPA_SHELL,
ITEM_OLD_PHOTO,
ITEM_GLASSES,
ITEM_PHOTOGRAPH,
ITEM_PACKAGE,
ITEM_RED_JAR,
ITEM_CASTLE_KEY4,
ITEM_WAREHOUSE_KEY,
ITEM_PRISON_KEY1,
ITEM_SILVER_CREDIT,
ITEM_GOLD_CREDIT,
ITEM_PRISON_KEY2,
ITEM_PRISON_KEY3,
ITEM_PRISON_KEY4,
ITEM_FIRE_FLOWER,
ITEM_SNOWMAN_DOLL,
ITEM_THUNDER_RAGE,
ITEM_SHOOTING_STAR,
ITEM_THUNDER_BOLT,
ITEM_PEBBLE,
ITEM_DUSTY_HAMMER,
ITEM_INSECTICIDE_HERB,
ITEM_STONE_CAP,
ITEM_TASTY_TONIC,
ITEM_MUSHROOM,
ITEM_VOLT_SHROOM,
ITEM_SUPER_SHROOM,
ITEM_DRIED_SHROOM,
ITEM_ULTRA_SHROOM,
ITEM_SLEEPY_SHEEP,
ITEM_P_O_W_BLOCK,
ITEM_HUSTLE_DRINK,
ITEM_STOP_WATCH,
ITEM_WHACKAS_BUMP,
ITEM_APPLE,
ITEM_LIFE_SHROOM,
ITEM_MYSTERY,
ITEM_REPEL_GEL,
ITEM_FRIGHT_JAR,
ITEM_PLEASE_COME_BACK,
ITEM_DIZZY_DIAL,
ITEM_SUPER_SODA,
ITEM_LEMON,
ITEM_LIME,
ITEM_BLUE_BERRY,
ITEM_RED_BERRY,
ITEM_YELLOW_BERRY,
ITEM_BUBBLE_BERRY,
ITEM_JAMMIN_JELLY,
ITEM_MAPLE_SYRUP,
ITEM_HONEY_SYRUP,
ITEM_GOOMNUT,
ITEM_KOOPA_LEAF,
ITEM_DRIED_PASTA,
ITEM_DRIED_FRUIT,
ITEM_STRANGE_LEAF,
ITEM_CAKE_MIX,
ITEM_EGG2,
ITEM_COCONUT,
ITEM_MELON,
ITEM_STINKY_HERB,
ITEM_ICED_POTATO,
ITEM_SPICY_SOUP,
ITEM_APPLE_PIE,
ITEM_HONEY_ULTRA,
ITEM_MAPLE_ULTRA,
ITEM_JELLY_ULTRA,
ITEM_KOOPASTA,
ITEM_FRIED_SHROOM,
ITEM_SHROOM_CAKE,
ITEM_SHROOM_STEAK,
ITEM_HOT_SHROOM,
ITEM_SWEET_SHROOM,
ITEM_YUMMY_MEAL,
ITEM_HEALTHY_JUICE,
ITEM_BLAND_MEAL,
ITEM_DELUXE_FEAST,
ITEM_SPECIAL_SHAKE,
ITEM_BIG_COOKIE,
ITEM_CAKE,
ITEM_MISTAKE,
ITEM_KOOPA_TEA,
ITEM_HONEY_SUPER,
ITEM_MAPLE_SUPER,
ITEM_JELLY_SUPER,
ITEM_SPAGHETTI,
ITEM_EGG_MISSILE,
ITEM_FRIED_EGG,
ITEM_HONEY_SHROOM,
ITEM_HONEY_CANDY,
ITEM_ELECTRO_POP,
ITEM_FIRE_POP,
ITEM_LIME_CANDY,
ITEM_COCO_POP,
ITEM_LEMON_CANDY,
ITEM_JELLY_POP,
ITEM_STRANGE_CAKE,
ITEM_KOOKY_COOKIE,
ITEM_FROZEN_FRIES,
ITEM_POTATO_SALAD,
ITEM_NUTTY_CAKE,
ITEM_MAPLE_SHROOM,
ITEM_BOILED_EGG,
ITEM_YOSHI_COOKIE,
ITEM_JELLY_SHROOM1,
ITEM_JELLY_SHROOM2,
ITEM_JELLY_SHROOM3,
ITEM_JELLY_SHROOM4,
ITEM_JELLY_SHROOM5,
ITEM_JELLY_SHROOM6,
ITEM_SPIN_SMASH,
ITEM_MULTIBOUNCE,
ITEM_POWER_PLUS_A,
ITEM_DODGE_MASTER,
ITEM_POWER_BOUNCE,
ITEM_SPIKE_SHIELD,
ITEM_FIRST_ATTACK,
ITEM_HP_PLUS_A,
ITEM_QUAKE_HAMMER,
ITEM_DOUBLE_DIP,
ITEM_MYSTERY_SCROLL,
ITEM_SLEEP_STOMP,
ITEM_FIRE_SHIELD,
ITEM_QUICK_CHANGE,
ITEM_D_DOWN_POUND,
ITEM_DIZZY_STOMP,
ITEM_SMASH_CHARGE0,
ITEM_PRETTY_LUCKY,
ITEM_FEELING_FINE,
ITEM_ATTACK_F_X_A,
ITEM_ALLOR_NOTHING,
ITEM_HP_DRAIN,
ITEM_JUMP_CHARGE0,
ITEM_SLOW_GO,
ITEM_FP_PLUS_A,
ITEM_MEGA_RUSH,
ITEM_ICE_POWER,
ITEM_DEFEND_PLUS_A,
ITEM_PAY_OFF,
ITEM_MONEY_MONEY,
ITEM_CHILL_OUT,
ITEM_HAPPY_HEART_A,
ITEM_ZAP_TAP,
ITEM_BERSERKER,
ITEM_RIGHT_ON,
ITEM_RUNAWAY_PAY,
ITEM_REFUND,
ITEM_FLOWER_SAVER_A,
ITEM_TRIPLE_DIP,
ITEM_HAMMER_THROW,
ITEM_MEGA_QUAKE,
ITEM_SMASH_CHARGE,
ITEM_JUMP_CHARGE,
ITEM_S_SMASH_CHG,
ITEM_S_JUMP_CHG,
ITEM_POWER_RUSH,
ITEM_AUTO_JUMP,
ITEM_AUTO_SMASH,
ITEM_CRAZY_HEART,
ITEM_LAST_STAND,
ITEM_CLOSE_CALL,
ITEM_P_UP_D_DOWN,
ITEM_LUCKY_DAY,
ITEM_MEGA_HP_DRAIN,
ITEM_P_DOWN_D_UP,
ITEM_POWER_QUAKE,
ITEM_AUTO_MULTIBOUNCE,
ITEM_FLOWER_FANATIC,
ITEM_HEART_FINDER,
ITEM_FLOWER_FINDER,
ITEM_SPIN_ATTACK,
ITEM_DIZZY_ATTACK,
ITEM_I_SPY,
ITEM_SPEEDY_SPIN,
ITEM_BUMP_ATTACK,
ITEM_POWER_JUMP,
ITEM_SUPER_JUMP,
ITEM_MEGA_JUMP,
ITEM_POWER_SMASH1,
ITEM_SUPER_SMASH,
ITEM_MEGA_SMASH,
ITEM_POWER_SMASH2,
ITEM_POWER_SMASH3,
ITEM_DEEP_FOCUS1,
ITEM_SUPER_FOCUS,
ITEM_SHRINK_SMASH,
ITEM_SHELL_CRACK,
ITEM_KAIDEN,
ITEM_D_DOWN_JUMP,
ITEM_SHRINK_STOMP,
ITEM_DAMAGE_DODGE_A,
ITEM_EARTHQUAKE_JUMP,
ITEM_DEEP_FOCUS2,
ITEM_DEEP_FOCUS3,
ITEM_HP_PLUS_B,
ITEM_FP_PLUS_B,
ITEM_HAPPY_HEART_B,
ITEM_HAPPY_HEART_X,
ITEM_FLOWER_SAVER_B,
ITEM_FLOWER_SAVER_X,
ITEM_DAMAGE_DODGE_B,
ITEM_DAMAGE_DODGE_X,
ITEM_POWER_PLUS_B,
ITEM_POWER_PLUS_X,
ITEM_DEFEND_PLUS_X,
ITEM_DEFEND_PLUS_Y,
ITEM_HAPPY_FLOWER_A,
ITEM_HAPPY_FLOWER_B,
ITEM_HAPPY_FLOWER_X,
ITEM_GROUP_FOCUS,
ITEM_PEEKABOO,
ITEM_ATTACK_F_X_D,
ITEM_ATTACK_F_X_B,
ITEM_ATTACK_F_X_E,
ITEM_ATTACK_F_X_C,
ITEM_ATTACK_F_X_F,
ITEM_HP_PLUS_C,
ITEM_HP_PLUS_X,
ITEM_HP_PLUS_Y,
ITEM_FP_PLUS_C,
ITEM_FP_PLUS_X,
ITEM_FP_PLUS_Y,
ITEM_HEALTHY_HEALTHY,
ITEM_ATTACK_F_X_F2,
ITEM_ATTACK_F_X_F3,
ITEM_ATTACK_F_X_F4,
ITEM_ATTACK_F_X_F5,
ITEM_PARTNER_ATTACK,
ITEM_HEART,
ITEM_COIN,
ITEM_HEART_PIECE,
ITEM_STAR_POINT,
ITEM_FULL_HEAL,
ITEM_FLOWER,
ITEM_STAR_PIECE,
ITEM_PRESENT,
ITEM_COMPLETE_CAKE,
ITEM_BARE_CAKE,
ITEM_EMPTY_CAKE_PAN,
ITEM_FULL_CAKE_PAN,
ITEM_EMPTY_MIXING_BOWL,
ITEM_FULL_MIXING_BOWL,
ITEM_CAKE_WITH_ICING,
ITEM_CAKE_WITH_BERRIES,
ITEM_HAMMER1_ICON,
ITEM_HAMMER2_ICON,
ITEM_HAMMER3_ICON,
ITEM_BOOTS1_ICON,
ITEM_BOOTS2_ICON,
ITEM_BOOTS3_ICON,
ITEM_ITEMS_ICON,
};
#define ITEM_FIRST_KEY_ITEM ITEM_LUCKY_STAR
#define ITEM_LAST_KEY_ITEM ITEM_PRISON_KEY4
#define ITEM_FIRST_NORMAL_ITEM ITEM_FIRE_FLOWER
#define ITEM_LAST_NORMAL_ITEM ITEM_JELLY_SHROOM6
#define ITEM_FIRST_BADGE ITEM_SPIN_SMASH
#define ITEM_LAST_BADGE ITEM_ATTACK_F_X_F5
// TODO: use NPC_ANIM-like macro for player animations
enum PlayerAnims {
ANIM_1 = 1, // XXX
ANIM_STAND_STILL = 0x10000,
ANIM_CROUCH_STILL,
ANIM_10002,
ANIM_PANTING,
ANIM_WALKING,
ANIM_RUNNING,
ANIM_BEFORE_JUMP,
ANIM_MIDAIR_STILL,
ANIM_MIDAIR,
ANIM_10009,
ANIM_STUNNED_STILL = 0x1000E,
ANIM_DEAD_STILL,
ANIM_SPINNING = 0x10011,
ANIM_FLAILING,
ANIM_SIT_STILL,
ANIM_CROUCH,
ANIM_STONE_STILL,
ANIM_THROW,
ANIM_FALL_BACK,
ANIM_FALL_DOWN,
ANIM_SCARED,
ANIM_HURT_FOOT,
ANIM_RUN_PANIC,
ANIM_EAT,
ANIM_STICK_OUT_TONGUE,
ANIM_PLANT,
ANIM_GOT_ITEM,
ANIM_READY_JUMP,
ANIM_THINKING,
ANIM_LOST_BALANCE,
ANIM_SHOCK_STILL,
ANIM_DRINK = 0x10025,
ANIM_SQUISH,
ANIM_RUN_THINKING,
ANIM_QUESTION,
ANIM_NOD_YES,
ANIM_1002B = 0x1002B,
ANIM_PRAY,
ANIM_CHARRED = 0x1002F,
ANIM_GET_UP,
ANIM_DUST_OFF,
ANIM_THUMBS_UP,
ANIM_30004 = 0x30004,
ANIM_30008 = 0x30008,
ANIM_30009,
ANIM_80003 = 0x80003,
ANIM_80007 = 0x80007,
ANIM_8000B = 0x8000B,
ANIM_8000C,
ANIM_80017 = 0x80017,
ANIM_8001B = 0x8001B,
ANIM_8001D = 0x8001D,
ANIM_8001E,
ANIM_90004 = 0x90004,
ANIM_90005,
ANIM_90006,
};
enum AmbientSounds {
AMBIENT_SPOOKY,
AMBIENT_WIND,
AMBIENT_BEACH,
AMBIENT_JUNGLE,
AMBIENT_UNDER_SEA1,
AMBIENT_UNDER_SEA2,
AMBIENT_SILENCE,
AMBIENT_UNDER_SEA3,
AMBIENT_UNDER_SEA4,
AMBIENT_EXIT_SEA,
AMBIENT_UNDER_SEA5,
AMBIENT_UNDER_SEA6,
AMBIENT_BIRDS,
AMBIENT_SEA,
AMBIENT_MUSIC = 16,
};
enum EncounterOutcomes {
OUTCOME_PLAYER_WON,
OUTCOME_PLAYER_LOST,
OUTCOME_PLAYER_FLED,
OUTCOME_ENEMY_FLED,
};
enum DecorationIDs {
DECORATION_GOLDEN_FLAMES = 1,
DECORATION_SWEAT,
DECORATION_SEEING_STARS,
DECORATION_RED_FLAMES,
DECORATION_GREY_SMOKE_TRAIL,
DECORATION_FIRE_SMOKE_TRAIL,
DECORATION_WHIRLWIND,
DECORATION_STEAM_EMITTER,
DECORATION_RADIAL_STAR_EMITTER = 11,
};
enum HitResults {
HIT_RESULT_TRIGGERED_EXPLODE = -1,
HIT_RESULT_HIT,
HIT_RESULT_MISS_QUAKE = 2,
HIT_RESULT_LANDED_ON_SPIKE = 4,
HIT_RESULT_LUCKY,
HIT_RESULT_MISS,
HIT_RESULT_HIT_STATIC,
HIT_RESULT_IMMUNE,
};
enum Iters {
ITER_FIRST = -1,
ITER_NEXT,
ITER_PREV,
ITER_LAST = 10,
};
enum ActorSoundIDs {
ACTOR_SOUND_WALK,
ACTOR_SOUND_FLY,
ACTOR_SOUND_JUMP,
ACTOR_SOUND_HURT,
ACTOR_SOUND_WALK_INCREMENT,
ACTOR_SOUND_FLY_INCREMENT,
};
enum Phases {
PHASE_EXECUTE_ACTION,
PHASE_FIRST_STRIKE,
PHASE_RUN_AWAY_START = 3,
PHASE_RUN_AWAY_RESET,
PHASE_USE_DEFEND = 6,
PHASE_RUN_AWAY_FAIL,
PHASE_USE_LIFE_SHROOM,
PHASE_PLAYER_BEGIN = 10,
PHASE_ENEMY_END,
PHASE_ENEMY_BEGIN,
PHASE_PLAYER_END,
PHASE_MERLEE_ATTACK_BONUS = 20,
PHASE_MERLEE_DEFENSE_BONUS,
PHASE_MERLEE_EXP_BONUS,
PHASE_PLAYER_HAPPY = 30,
};
enum ActorIDs {
ACTOR_SELF = 0xFFFFFF81,
ACTOR_PLAYER = 0x0,
ACTOR_PARTNER = 0x100,
ACTOR_ENEMY0 = 0x200,
ACTOR_ENEMY1,
ACTOR_ENEMY2,
ACTOR_ENEMY3,
ACTOR_ENEMY4,
ACTOR_ENEMY5,
ACTOR_ENEMY6,
ACTOR_ENEMY7,
ACTOR_ENEMY8,
ACTOR_ENEMY9,
ACTOR_ENEMY10,
ACTOR_ENEMY11,
ACTOR_ENEMY12,
ACTOR_ENEMY13,
ACTOR_ENEMY14,
ACTOR_ENEMY15,
ACTOR_ENEMY16,
ACTOR_ENEMY17,
ACTOR_ENEMY18,
ACTOR_ENEMY19,
ACTOR_ENEMY20,
ACTOR_ENEMY21,
ACTOR_ENEMY22,
ACTOR_ENEMY23,
};
enum Elements {
ELEMENT_END,
ELEMENT_NORMAL,
ELEMENT_FIRE,
ELEMENT_WATER,
ELEMENT_ICE,
ELEMENT_MYSTERY,
ELEMENT_MAGIC = 7,
ELEMENT_HAMMER,
ELEMENT_JUMP,
ELEMENT_COSMIC,
ELEMENT_BLAST,
ELEMENT_SHOCK,
ELEMENT_QUAKE,
ELEMENT_THROW = 15,
};
enum Events {
EVENT_HIT_COMBO = 9,
EVENT_HIT,
EVENT_SPIN_SMASH_HIT,
EVENT_FALL_TRIGGER,
EVENT_FLIP_TRIGGER,
EVENT_BURN_HIT,
EVENT_SPIN_SMASH_LAUNCH_HIT = 17,
EVENT_STAR_BEAM = 19,
EVENT_POWER_BOUNCE_HIT = 21,
EVENT_BLOW_AWAY,
EVENT_23,
EVENT_24,
EVENT_IMMUNE,
EVENT_BLOCK,
EVENT_SPIKE_TAUNT,
EVENT_BURN_TAUNT,
EVENT_AIR_LIFT_FAILED = 31,
EVENT_DEATH,
EVENT_SPIN_SMASH_DEATH,
EVENT_EXPLODE_TRIGGER,
EVENT_BURN_DEATH = 36,
EVENT_SPIN_SMASH_LAUNCH_DEATH = 37,
EVENT_SHOCK_DEATH = 38,
EVENT_SPIKE_DEATH,
EVENT_POWER_BOUNCE_DEATH,
EVENT_41, // burn death copy?
EVENT_SPIKE_CONTACT,
EVENT_BURN_CONTACT = 44,
EVENT_SHOCK_HIT = 47,
EVENT_RECOVER_STATUS = 49,
EVENT_END_FIRST_STRIKE = 53,
EVENT_LUCKY = 55,
EVENT_BEGIN_FIRST_STRIKE,
EVENT_SCARE_AWAY,
EVENT_BEGIN_AIR_LIFT,
EVENT_UP_AND_AWAY = 61,
EVENT_SWAP_PARTNER = 63,
EVENT_LIFE_SHROOM_PROC,
EVENT_REVIVE,
};
enum HitSounds {
HIT_SOUND_MISS,
HIT_SOUND_BONES,
HIT_SOUND_NORMAL,
HIT_SOUND_FIRE,
HIT_SOUND_ICE,
HIT_SOUND_SHOCK,
};
enum Statuses {
STATUS_END,
STATUS_NORMAL,
STATUS_DEFAULT,
STATUS_FEAR,
STATUS_DIZZY,
STATUS_PARALYZE,
STATUS_SLEEP,
STATUS_FROZEN,
STATUS_STOP,
STATUS_POISON,
STATUS_SHRINK,
STATUS_STATIC,
STATUS_STONE,
STATUS_DAZE,
STATUS_E,
STATUS_KO,
STATUS_BERSERK = 16,
STATUS_TURN_DONE = 18,
STATUS_HUSTLE = 25,
STATUS_DANGER,
STATUS_THINKING = 28,
STATUS_WEARY,
STATUS_DEFAULT_TURN_MOD = 31,
STATUS_SLEEP_TURN_MOD,
STATUS_STATIC_TURN_MOD,
STATUS_FROZEN_TURN_MOD,
STATUS_FEAR_TURN_MOD,
STATUS_DIZZY_TURN_MOD,
STATUS_POISON_TURN_MOD,
STATUS_PARALYZE_TURN_MOD,
STATUS_SHRINK_TURN_MOD,
STATUS_STONE_TURN_MOD,
STATUS_STOP_TURN_MOD,
};
enum DoorSwings {
DOOR_SWING_OUT = -1,
DOOR_SWING_IN = 1,
};
enum ItemSpawnModes {
ITEM_SPAWN_MODE_UNKNOWN_0,
ITEM_SPAWN_MODE_DECORATION,
ITEM_SPAWN_MODE_UNKNOWN_2,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS,
ITEM_SPAWN_MODE_BATTLE_REWARD,
ITEM_SPAWN_MODE_TOSS_NEVER_VANISH,
ITEM_SPAWN_MODE_TOSS,
ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE,
ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE_NEVER_VANISH,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_NEVER_VANISH,
ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM,
ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE,
ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS,
ITEM_SPAWN_MODE_FALL_NEVER_VANISH,
ITEM_SPAWN_MODE_FALL,
ITEM_SPAWN_MODE_FALL_SPAWN_ONCE,
ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS,
ITEM_SPAWN_MODE_FIXED_NEVER_VANISH,
ITEM_SPAWN_MODE_FIXED,
ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS_NEVER_VANISH,
ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS,
ITEM_SPAWN_MODE_ITEM_BLOCK_COIN,
ITEM_SPAWN_MODE_TOSS_HIGHER_NEVER_VANISH,
ITEM_SPAWN_MODE_UNKNOWN_17,
ITEM_SPAWN_MODE_UNKNOWN_18,
ITEM_SPAWN_MODE_UNKNOWN_19,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_SMALL,
ITEM_SPAWN_MODE_UNKNOWN_1B,
};
enum Locations {
LOCATION_TOAD_TOWN = 1,
LOCATION_TOAD_TOWN_TUNNELS,
LOCATION_KOOPA_BROS_FORTRESS = 7,
LOCATION_MT_RUGGED,
LOCATION_DRY_DRY_OUTPOST,
LOCATION_DRY_DRY_DESERT,
LOCATION_DRY_DRY_RUINS,
LOCATION_FOREVER_FOREST,
LOCATION_BOOS_MANSION,
LOCATION_TUBBAS_MANOR = 15,
LOCATION_SHY_GUYS_TOYBOX,
LOCATION_MT_LAVALAVA = 18,
LOCATION_CRYSTAL_PALACE = 21,
LOCATION_BOWSERS_CASTLE,
LOCATION_TESTING,
LOCATION_NONE,
LOCATION_PEACH_CASTLE_GROUNDS,
LOCATION_PEACHS_CASTLE,
LOCATION_SHOOTING_STAR_SUMMIT,
LOCATION_STAR_WAY,
LOCATION_STAR_HAVEN,
LOCATION_GOOMBA_VILLAGE,
LOCATION_GOOMBA_ROAD,
LOCATION_PLEASANT_PATH,
LOCATION_KOOPA_VILLAGE,
LOCATION_GUSTY_GULCH,
LOCATION_WINDY_MILL,
LOCATION_JADE_JUNGLE,
LOCATION_YOSHIS_VILLAGE,
LOCATION_FLOWER_FIELDS,
LOCATION_CLOUDY_CLIMB,
LOCATION_SHIVER_CITY,
LOCATION_SHIVER_SNOWFIELD,
LOCATION_STARBORN_VALLEY,
LOCATION_SHIVER_MOUNTAIN,
LOCATION_MARIOS_HOUSE,
};
enum DoorSounds {
DOOR_SOUND_BASIC,
DOOR_SOUND_METAL,
DOOR_SOUND_LARGE,
DOOR_SOUND_CREAKY,
DOOR_SOUND_GATE,
DOOR_SOUND_UNKNOWN_5,
DOOR_SOUND_UNKNOWN_6,
};
enum ActionStates {
ACTION_STATE_IDLE,
ACTION_STATE_WALK,
ACTION_STATE_RUN,
ACTION_STATE_JUMP,
ACTION_STATE_BOUNCE, ///< Used with Kooper
ACTION_STATE_HOP, ///< Released A before apex of jump
ACTION_STATE_LAUNCH, ///< Shy Guy Toybox jack-in-the-boxes
ACTION_STATE_LAND_ON_SWITCH, ///< Small red/blue ! switches
ACTION_STATE_FALLING,
ACTION_STATE_STEP_DOWN,
ACTION_STATE_LAND,
ACTION_STATE_STEP_DOWN_LAND,
// Following action states prohibit movement (see set_action_state())
ACTION_STATE_TALK, ///< Reading signs doesn't count
ACTION_STATE_SPIN_JUMP,
ACTION_STATE_GROUND_POUND,
ACTION_STATE_ULTRA_JUMP,
ACTION_STATE_ULTRA_POUND,
ACTION_STATE_SLIDE,
ACTION_STATE_HAMMER,
ACTION_STATE_13,
ACTION_STATE_14,
ACTION_STATE_HIT_FIRE, ///< Causes Mario to fly up and take damage. Used for fire bars.
ACTION_STATE_UNKNOWN_16, // some kind of knockback, does no damage
ACTION_STATE_HIT_LAVA,
ACTION_STATE_18,
ACTION_STATE_SNEAKY_PARASOL,
ACTION_STATE_SPIN,
ACTION_STATE_ENEMY_FIRST_STRIKE,
ACTION_STATE_GET_STAR_SPIRIT,
ACTION_STATE_USE_SPINNING_FLOWER,
ACTION_STATE_USE_MUNCHLESIA, ///< Set by the jan_09 squishy flower entity; throws the player in the air.
ACTION_STATE_USE_TWEESTER,
ACTION_STATE_BOUNCE_OFF_SWITCH, ///< Small red/blue ! switches
ACTION_STATE_RIDE,
ACTION_STATE_STEP_UP,
ACTION_STATE_23,
ACTION_STATE_24,
ACTION_STATE_25,
ACTION_STATE_USE_SPRING,
};
enum NpcIDs {
NPC_SELF = -1,
NPC_PLAYER = -2,
NPC_PARTNER = -4,
NPC_BTL_MERLEE = -10,
};
enum {
TRIGGER_WALL_PUSH = 0x00000040,
TRIGGER_FLOOR_TOUCH = 0x00000080,
TRIGGER_WALL_PRESS_A = 0x00000100,
TRIGGER_FLOOR_JUMP = 0x00000200,
TRIGGER_WALL_TOUCH = 0x00000400,
TRIGGER_FLOOR_PRESS_A = 0x00000800,
TRIGGER_WALL_HAMMER = 0x00001000,
TRIGGER_GAME_FLAG_SET = 0x00010000,
TRIGGER_AREA_FLAG_SET = 0x00020000,
TRIGGER_CEILING_TOUCH = 0x00040000,
TRIGGER_FLOOR_ABOVE = 0x00080000,
TRIGGER_POINT_BOMB = 0x00100000,
};
enum Buttons {
BUTTON_C_RIGHT = 0x00000001,
BUTTON_C_LEFT = 0x00000002,
BUTTON_C_DOWN = 0x00000004,
BUTTON_C_UP = 0x00000008,
BUTTON_R = 0x00000010,
BUTTON_L = 0x00000020,
BUTTON_D_RIGHT = 0x00000100,
BUTTON_D_LEFT = 0x00000200,
BUTTON_D_DOWN = 0x00000400,
BUTTON_D_UP = 0x00000800,
BUTTON_START = 0x00001000,
BUTTON_Z = 0x00002000,
BUTTON_B = 0x00004000,
BUTTON_A = 0x00008000,
BUTTON_STICK_UP = 0x00010000,
BUTTON_STICK_DOWN = 0x00020000,
BUTTON_STICK_LEFT = 0x00040000,
BUTTON_STICK_RIGHT = 0x00080000,
};
enum PlayerBuffs {
PLAYER_BUFF_JUMP_CHARGE = 0x00000001,
PLAYER_BUFF_HAMMER_CHARGE = 0x00000002,
PLAYER_BUFF_STONE = 0x00000008,
PLAYER_BUFF_HUSTLE = 0x00000010,
PLAYER_BUFF_STATIC = 0x00000020,
PLAYER_BUFF_TRANSPARENT = 0x00000040,
PLAYER_BUFF_CLOUD_NINE = 0x00000080,
PLAYER_BUFF_TURBO_CHARGE = 0x00000100,
PLAYER_BUFF_WATER_BLOCK = 0x00000200,
PLAYER_BUFF_PARTNER_GLOWING = 0x00010000,
PLAYER_BUFF_ALL = 0xFFFFFFFF,
};
enum StatusFlags {
STATUS_FLAG_SLEEP = 0x00001000,
STATUS_FLAG_STATIC = 0x00002000,
STATUS_FLAG_FROZEN = 0x00004000, // TODO: rename to "freeze"
STATUS_FLAG_FEAR = 0x00008000,
STATUS_FLAG_PARALYZE = 0x00010000,
STATUS_FLAG_POISON = 0x00020000,
STATUS_FLAG_DIZZY = 0x00040000,
STATUS_FLAG_SHRINK = 0x00080000,
STATUS_FLAG_STONE = 0x00100000,
STATUS_FLAG_STOP = 0x00200000,
STATUS_FLAG_KO = 0x01000000,
STATUS_FLAG_GLOWING = 0x02000000,
STATUS_FLAG_TRANSPARENT = 0x04000000,
STATUS_FLAG_ATTACK_BOOST = 0x08000000,
STATUS_FLAG_DEFENSE_BOOST = 0x10000000,
STATUS_FLAG_CHILL_OUT = 0x20000000,
STATUS_FLAG_RIGHT_ON = 0x40000000,
};
enum DamageTypes {
DAMAGE_TYPE_FIRE = 0x00000002,
DAMAGE_TYPE_WATER = 0x00000004,
DAMAGE_TYPE_ICE = 0x00000008,
DAMAGE_TYPE_MAGIC = 0x00000010,
DAMAGE_TYPE_ELECTRIC = 0x00000020,
DAMAGE_TYPE_SMASH = 0x00000040,
DAMAGE_TYPE_JUMP = 0x00000080,
DAMAGE_TYPE_COSMIC = 0x00000100,
DAMAGE_TYPE_BLAST = 0x00000200,
DAMAGE_TYPE_POW = 0x00000400,
DAMAGE_TYPE_QUAKE = 0x00000800,
DAMAGE_TYPE_4000 = 0x00004000,
DAMAGE_TYPE_THROW = 0x00040000,
DAMAGE_TYPE_2000000 = 0x02000000,
DAMAGE_TYPE_IGNORE_DEFENSE = 0x08000000,
DAMAGE_TYPE_NO_CONTACT = 0x10000000,
DAMAGE_TYPE_UNBLOCKABLE = 0x20000000,
DAMAGE_TYPE_40000000 = 0x40000000,
DAMAGE_TYPE_TRIGGER_LUCKY = 0x80000000,
};
enum PartnerIDs {
PARTNER_NONE,
PARTNER_GOOMBARIO,
PARTNER_KOOPER,
PARTNER_BOMBETTE,
PARTNER_PARAKARRY,
PARTNER_GOOMPA,
PARTNER_WATT,
PARTNER_SUSHIE,
PARTNER_LAKILESTER,
PARTNER_BOW,
PARTNER_GOOMBARIA,
PARTNER_TWINK,
};
/// @see gAreas
enum Areas {
AREA_KMR,
AREA_MAC,
AREA_TIK,
AREA_KGR,
AREA_KKJ,
AREA_HOS,
AREA_NOK,
AREA_TRD,
AREA_IWA,
AREA_DRO,
AREA_SBK,
AREA_ISK,
AREA_MIM,
AREA_OBK,
AREA_ARN,
AREA_DGB,
AREA_OMO,
AREA_JAN,
AREA_KZN,
AREA_FLO,
AREA_SAM,
AREA_PRA,
AREA_KPA,
AREA_OSR,
AREA_END,
AREA_MGM,
AREA_GV,
AREA_TST,
};
enum NpcFlags {
NPC_FLAG_PASSIVE = 0x00000001, ///< Collision does not trigger battle
NPC_FLAG_2 = 0x00000002,
NPC_FLAG_4 = 0x00000004,
NPC_FLAG_ENABLE_HIT_SCRIPT = 0x00000008,
NPC_FLAG_HAS_SHADOW = 0x00000010, ///< Set by default and by enable_npc_shadow
NPC_FLAG_NO_AI = 0x00000020, ///< Disable movement AI and collision (idle animation plays)
NPC_FLAG_80 = 0x00000080, // TODO
NPC_FLAG_40 = 0x00000040,
NPC_FLAG_100 = 0x00000100, // TODO
NPC_FLAG_GRAVITY = 0x00000200, ///< Enables gravity. Does nothing if NPC_FLAG_NO_Y_MOVEMENT is set.
NPC_FLAG_LOCK_ANIMS = 0x00000400, ///< Do not allow scripts to change animation
NPC_FLAG_NO_Y_MOVEMENT = 0x00000800, ///< Causes NpcMoveTo() to ignore stairs
NPC_FLAG_1000 = 0x00001000,
NPC_FLAG_NO_PROJECT_SHADOW = 0x00002000, ///< Draw shadow at base of sprite instead of projecting to ground
NPC_FLAG_4000 = 0x00004000,
NPC_FLAG_8000 = 0x00008000,
NPC_FLAG_DIRTY_SHADOW = 0x00010000, ///< Set if shadow model is dirty (needs to be repositioned etc.)
NPC_FLAG_REFLECT_WALL = 0x00020000, ///< Mirror rendering across z=0
NPC_FLAG_40000 = 0x00040000, ///< Yaw?
NPC_FLAG_REFLECT_FLOOR = 0x00080000, ///< Mirror rendering across y=0
NPC_FLAG_MOTION_BLUR = 0x00100000, ///< Gives motion blur effect as NPC moves. Set by enable_npc_blur
NPC_FLAG_200000 = 0x00200000,
NPC_FLAG_400000 = 0x00400000,
NPC_FLAG_NO_DROPS = 0x00800000, ///< Do not drop hearts, flowers, or coins on defeat
NPC_FLAG_1000000 = 0x01000000, // TODO. fails assert in set_npc_sprite
/// Use simpler, faster physics calculations:
/// - Perform only one lateral collision test during motion
/// - Allow falling below Y=-2000 (by default, NPC_FLAG_NO_Y_MOVEMENT is set when an NPC falls out-of-bounds)
NPC_FLAG_PARTICLE = 0x04000000,
NPC_FLAG_8000000 = 0x08000000,
NPC_FLAG_NO_ANIMS_LOADED = 0x40000000, ///< Npc has no animations loaded
NPC_FLAG_80000000 = 0x80000000,
};
// XXX bad name
/// @see PlayerStatus::animFlags
enum PlayerAnimFlags {
PLAYER_ANIM_FLAG_HOLDING_ITEM = 0x00000001,
PLAYER_ANIM_FLAG_2 = 0x00000002,
PLAYER_ANIM_FLAG_4 = 0x00000004,
PLAYER_ANIM_FLAG_8 = 0x00000008,
PLAYER_ANIM_FLAG_INTERACT_PROMPT = 0x00000010, ///< ! prompt
PLAYER_ANIM_FLAG_SPEECH_PROMPT = 0x00000020, ///< (...) prompt
PLAYER_ANIM_FLAG_40 = 0x00000040,
PLAYER_ANIM_FLAG_PULSE_STONE = 0x00000080,
PLAYER_ANIM_FLAG_100 = 0x00000100,
PLAYER_ANIM_FLAG_GET_STAR_SPIRIT = 0x00000200, ///< Sets action state to ACTION_STATE_GET_STAR_SPIRIT on idle
PLAYER_ANIM_FLAG_SHIVER = 0x00000400,
PLAYER_ANIM_FLAG_PEACH_PHYSICS = 0x00001000,
PLAYER_ANIM_FLAG_IN_DISGUISE = 0x00002000,
PLAYER_ANIM_FLAG_8BIT_MARIO = 0x00004000,
};
/// not really
enum RenderMode {
RENDER_MODE_SURF_SOLID_AA_ZB_LAYER0 = 0x00,
RENDER_MODE_SURFACE_OPA = 0x01,
RENDER_MODE_2 = 0x02,
RENDER_MODE_SURFACE_OPA_NO_AA = 0x03,
RENDER_MODE_SURFACE_OPA_NO_ZB = 0x04,
RENDER_MODE_DECAL_OPA = 0x05,
RENDER_MODE_DECAL_OPA_NO_AA = 0x07,
RENDER_MODE_INTERSECTING_OPA = 0x09,
RENDER_MODE_ALPHATEST = 0x0D,
RENDER_MODE_ALPHATEST_ONESIDED = 0x0F,
RENDER_MODE_ALPHATEST_NO_ZB = 0x10,
RENDER_MODE_SURFACE_XLU_LAYER1 = 0x11,
RENDER_MODE_SURFACE_XLU_NO_AA = 0x13,
RENDER_MODE_SURFACE_XLU_NO_ZB = 0x14,
RENDER_MODE_SURF_XLU_ZB_ZUPD = 0x15,
RENDER_MODE_SURFACE_XLU_LAYER2 = 0x16,
RENDER_MODE_DECAL_XLU = 0x1A,
RENDER_MODE_DECAL_XLU_NO_AA = 0x1C,
RENDER_MODE_SHADOW = 0x20,
RENDER_MODE_SURFACE_XLU_LAYER3 = 0x22,
RENDER_MODE_INTERSECTING_XLU = 0x26,
RENDER_MODE_28 = 0x28,
RENDER_MODE_SURF_XLU_AA_ZB_ZUPD = 0x29,
RENDER_MODE_2D = 0x2D,
RENDER_MODE_CLOUD = 0x2E,
RENDER_MODE_CLOUD_NO_ZB = 0x2F,
};
enum ActorFlags {
ACTOR_FLAG_DISABLED = 0x00000001, ///< Disables the actor.
ACTOR_FLAG_NO_SHADOW = 0x00000004, ///< Hide shadow.
ACTOR_FLAG_FLYING = 0x00000200, ///< Quake Hammer can't hit.
ACTOR_FLAG_HP_OFFSET_BELOW = 0x00000800, ///< HP bar offset below actor (e.g. Swooper when upside-down).
ACTOR_FLAG_TARGET_ONLY = 0x00004000, ///< Battle ends even if undefeated. No turn.
ACTOR_FLAG_8000 = 0x00008000,
ACTOR_FLAG_80000 = 0x00080000,
ACTOR_FLAG_NO_ATTACK = 0x00200000, ///< Skip attack turn.
ACTOR_FLAG_NO_DMG_APPLY = 0x00400000, ///< Damage is not applied to actor HP.
ACTOR_FLAG_NO_DMG_POPUP = 0x02000000, ///< Hide damage popup.
ACTOR_FLAG_10000000 = 0x10000000,
};
enum ActorPartFlags {
PART_FLAG_INVISIBLE = 0x00000001,
PART_FLAG_2000 = 0x00002000, ///< Plays extra hurt SFX?
PART_FLAG_NO_TARGET = 0x00020000, ///< Cannot be targeted.
PART_FLAG_MULTI_TARGET = 0x00800000, ///< Can be targeted with multi-target attacks (e.g. Star Storm).
};
enum ActorEventFlags {
EVENT_FLAG_FIREY = 0x00000002, ///< Player takes burn damage upon contact.
EVENT_FLAG_ICY = 0x00000008, ///< No known effect, but is used.
EVENT_FLAG_SPIKY_TOP = 0x00000010, ///< Player takes spike damage from jump attacks.
EVENT_FLAG_ILLUSORY = 0x00000020, ///< Player attacks pass through and miss.
EVENT_FLAG_ELECTRIFIED = 0x00000080, ///< Player takes shock damage upon contact.
EVENT_FLAG_EXPLOSIVE = 0x00000200, ///< Blast and fire attacks trigger an explosion.
EVENT_FLAG_800 = 0x00000800,
EVENT_FLAG_FLIPABLE = 0x00001000, ///< Actor can be flipped; triggered by jump and quake attacks.
EVENT_FLAG_GROUNDABLE = 0x00004000, ///< Actor can be knocked down from flight; triggered by jump attacks.
EVENT_FLAG_SPIKY_FRONT = 0x00010000, ///< Player takes spike damage from hammer attacks.
EVENT_FLAG_ENCHANTED = 0x00040000, ///< Actor glows and listens for the Star Beam event.
EVENT_FLAG_POWER_BOUNCE = 0x00100000, ///< Actor listens for Power Bounce events.
};
enum PartnerAnims {
PARTNER_ANIM_STILL,
PARTNER_ANIM_WALK,
PARTNER_ANIM_JUMP,
PARTNER_ANIM_FALL,
PARTNER_ANIM_FLY,
PARTNER_ANIM_IDLE,
PARTNER_ANIM_RUN,
PARTNER_ANIM_TALK,
PARTNER_ANIM_HURT,
};
enum FirstStrikes {
FIRST_STRIKE_NONE,
FIRST_STRIKE_PLAYER,
FIRST_STRIKE_ENEMY,
};
enum TimeFreezeMode {
TIME_FREEZE_NORMAL,
TIME_FREEZE_PARTIAL,
TIME_FREEZE_FULL,
TIME_FREEZE_PARTNER_MENU,
TIME_FREEZE_EXIT,
};
enum ActionCommand {
ACTION_COMMAND_JUMP = 1,
ACTION_COMMAND_SMASH,
ACTION_COMMAND_FLEE,
ACTION_COMMAND_BREAK_FREE,
ACTION_COMMAND_WHIRLWIND,
ACTION_COMMAND_STOP_LEECH,
ACTION_COMMAND_07,
ACTION_COMMAND_DIZZY_SHELL,
ACTION_COMMAND_FIRE_SHELL,
ACTION_COMMAND_0A,
ACTION_COMMAND_BOMB,
ACTION_COMMAND_BODY_SLAM,
ACTION_COMMAND_AIR_LIFT,
ACTION_COMMAND_AIR_RAID,
ACTION_COMMAND_SQUIRT,
ACTION_COMMAND_POWER_SHOCK,
ACTION_COMMAND_MEGA_SHOCK,
ACTION_COMMAND_SMACK,
ACTION_COMMAND_SPINY_SURGE,
ACTION_COMMAND_HURRICANE,
ACTION_COMMAND_SPOOK,
ACTION_COMMAND_WATER_BLOCK,
ACTION_COMMAND_TIDAL_WAVE,
};
enum EffectGfxDataFlags {
FX_GRAPHICS_DISABLED = 0,
FX_GRAPHICS_ENABLED = 1,
FX_GRAPHICS_2 = 2,
};
enum MoveIDs {
MOVE_NONE,
MOVE_UNK_184 = 184,
};
enum GameModeIDs {
GAME_MODE_STARTUP,
GAME_MODE_LOGOS,
GAME_MODE_TITLE_SCREEN,
GAME_MODE_ENTER_DEMO,
GAME_MODE_CHANGE_MAP,
GAME_MODE_UNK_5,
GAME_MODE_ENTER_WORLD,
GAME_MODE_WORLD,
GAME_MODE_BATTLE,
GAME_MODE_END_BATTLE,
GAME_MODE_PAUSE,
GAME_MODE_UNPAUSE,
GAME_MODE_LANGUAGE_SELECT,
GAME_MODE_EXIT_LANGUAGE_SELECT,
GAME_MODE_FILE_SELECT,
GAME_MODE_EXIT_FILE_SELECT,
GAME_MODE_INTRO,
GAME_MODE_DEMO,
};
enum BattleStatusFlags1 {
BS_FLAGS1_0 = 0x00000000,
BS_FLAGS1_1 = 0x00000001, // show actors
BS_FLAGS1_2 = 0x00000002, // menu is open
BS_FLAGS1_4 = 0x00000004,
BS_FLAGS1_8 = 0x00000008,
BS_FLAGS1_10 = 0x00000010, // enable attack bonuses (power plus, etc)?
BS_FLAGS1_SP_EVT_ACTIVE = 0x00000020, // enable special events (other than hit/death/immune?)
BS_FLAGS1_40 = 0x00000040,
BS_FLAGS1_80 = 0x00000080,
BS_FLAGS1_100 = 0x00000100,
BS_FLAGS1_200 = 0x00000200,
BS_FLAGS1_400 = 0x00000400,
BS_FLAGS1_800 = 0x00000800,
BS_FLAGS1_1000 = 0x00001000,
BS_FLAGS1_2000 = 0x08002000,
BS_FLAGS1_4000 = 0x00004000,
BS_FLAGS1_8000 = 0x00008000,
BS_FLAGS1_10000 = 0x00010000,
BS_FLAGS1_20000 = 0x00020000,
BS_FLAGS1_40000 = 0x00040000,
BS_FLAGS1_80000 = 0x00080000, // partner will act (partner turn?)
BS_FLAGS1_100000 = 0x00100000, // player in back (after pressing z)
BS_FLAGS1_200000 = 0x00200000, // enemy turn pending
BS_FLAGS1_PLAYER_DEFENDING = 0x00400000, // player is defending
BS_FLAGS1_800000 = 0x00800000, // dont game over on loss
BS_FLAGS1_1000000 = 0x01000000,
BS_FLAGS1_2000000 = 0x02000000,
BS_FLAGS1_4000000 = 0x04000000,
BS_FLAGS1_8000000 = 0x08000000,
BS_FLAGS1_10000000 = 0x10000000, // prevent hammer charge
BS_FLAGS1_20000000 = 0x20000000, // prevent jump charge
BS_FLAGS1_40000000 = 0x40000000,
BS_FLAGS1_ATK_BLOCKED = 0x80000000,
};
enum BattleStatusFlags2 {
BS_FLAGS2_1000000 = 0x1000000,
};
#endif