papermario/include/enums.h
Rainchus 432e891080
Various C file decomp (#501)
* decomp watt overworld functions

* fix struct that was wrongly changed

* run coverage.py

* requested changes for watt.c and decomp a function from sbk_02

* run coverage.py

* more style changes

* decomp all functions in 92A2B0.c

* run coverage.py

* use map_var instead of hex constant, other style changes

* pull sbk_02.h changes

* ...actually merge master correctly

* decomp most functions in nok_04

* decomp most of 9EDBF0.C, fix warnings in UnkFunc41.inc.c and warnings/decomp in lakilester.c

* run coverage.py

* code review changes + few extra functions

* decomp lakilester functions and fix style in other files

* decomp more laki overworld functions

* add close match for func_802BDDD8_321928

* requested changes

* more requested style changes

* style changes

* last of review changes

* another small style fix

* ...accidentally deleted the f on a float immediate
2021-11-01 17:06:45 +09:00

1810 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 = 328,
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_UNKNOWN_295 = 661,
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_359 = 857,
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_759 = 1881,
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 = 0,
STATUS_NORMAL = 1,
STATUS_DEFAULT = 2,
STATUS_FEAR = 3,
STATUS_DIZZY = 4,
STATUS_PARALYZE = 5,
STATUS_SLEEP = 6,
STATUS_FROZEN = 7,
STATUS_STOP = 8,
STATUS_POISON = 9,
STATUS_SHRINK = 10,
STATUS_STATIC = 11,
STATUS_STONE = 12,
STATUS_DAZE = 13,
STATUS_E,
STATUS_KO,
STATUS_BERSERK = 16,
STATUS_TURN_DONE = 18,
STATUS_HUSTLE = 25,
STATUS_DANGER = 26,
STATUS_THINKING = 28,
STATUS_WEARY = 29,
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_4000000 = 0x04000000,
ACTOR_FLAG_8000000 = 0x08000000,
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