papermario/include/enums.h
Dalrik c3c790527d
Decomp pause_sort_item_list and pause_draw_rect (#453)
* WIP pause_sort_item_list

* Decomp pause_draw_rect and pause_sort_item_list

The match on pause_sort_item_list is very sketchy, there's probably a much simpler way to write the function that I can't find

* Review for 135EE0
2021-10-01 20:14:54 +09:00

1790 lines
49 KiB
C

#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,
};
typedef UNK_TYPE EncounterTrigger;
enum EncounterTriggers {
ENCOUNTER_TRIGGER_NONE = 1,
ENCOUNTER_TRIGGER_JUMP,
ENCOUNTER_TRIGGER_SPIN,
ENCOUNTER_TRIGGER_HAMMER,
ENCOUNTER_TRIGGER_CONVERSATION,
ENCOUNTER_TRIGGER_PARTNER,
};
typedef s32 SongID;
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,
};
typedef UNK_TYPE Ability;
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,
};
typedef UNK_TYPE Emote;
enum Emotes {
EMOTE_EXCLAMATION,
EMOTE_SHOCK,
EMOTE_QUESTION,
EMOTE_FRUSTRATION,
EMOTE_ELLIPSIS,
EMOTE_INVALID,
};
typedef UNK_TYPE Easing;
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,
};
typedef UNK_TYPE SoundID;
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_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_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]
typedef s16 ItemID;
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
typedef UNK_TYPE PlayerAnim;
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,
};
typedef UNK_TYPE AmbientSound;
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,
};
typedef UNK_TYPE EncounterOutcome;
enum EncounterOutcomes {
OUTCOME_PLAYER_WON,
OUTCOME_PLAYER_LOST,
OUTCOME_PLAYER_FLED,
OUTCOME_ENEMY_FLED,
};
typedef UNK_TYPE DecorationID;
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,
};
typedef UNK_TYPE HitResult;
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,
};
typedef UNK_TYPE Iter;
enum Iters {
ITER_FIRST = -1,
ITER_NEXT,
ITER_PREV,
ITER_LAST = 10,
};
typedef UNK_TYPE ActorSoundID;
enum ActorSoundIDs {
ACTOR_SOUND_WALK,
ACTOR_SOUND_FLY,
ACTOR_SOUND_JUMP,
ACTOR_SOUND_HURT,
ACTOR_SOUND_WALK_INCREMENT,
ACTOR_SOUND_FLY_INCREMENT,
};
typedef UNK_TYPE Phase;
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,
};
typedef s32 ActorID;
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,
};
typedef UNK_TYPE Element;
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,
};
typedef UNK_TYPE Event;
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,
};
typedef UNK_TYPE HitSound;
enum HitSounds {
HIT_SOUND_MISS,
HIT_SOUND_BONES,
HIT_SOUND_NORMAL,
HIT_SOUND_FIRE,
HIT_SOUND_ICE,
HIT_SOUND_SHOCK,
};
typedef s8 Status;
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,
};
typedef UNK_TYPE DoorSwing;
enum DoorSwings {
DOOR_SWING_OUT = -1,
DOOR_SWING_IN = 1,
};
typedef UNK_TYPE ItemSpawnMode;
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,
};
typedef UNK_TYPE Location;
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,
};
typedef UNK_TYPE DoorSound;
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,
};
typedef s8 ActionState;
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,
};
typedef s32 NpcID;
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,
};
typedef UNK_TYPE Button;
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,
};
typedef UNK_TYPE PlayerBuff;
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,
};
typedef UNK_TYPE StatusFlag;
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,
};
typedef UNK_TYPE DamageType;
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_IGNORE_DEFENSE = 0x08000000,
DAMAGE_TYPE_NO_CONTACT = 0x10000000,
DAMAGE_TYPE_UNBLOCKABLE = 0x20000000,
DAMAGE_TYPE_TRIGGER_LUCKY = 0x80000000,
};
typedef s8 PartnerID;
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_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_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,
};
#endif