2020-08-15 00:47:06 +02:00
# ifndef _ENUMS_H_
# define _ENUMS_H_
# include "ultra64.h"
2020-08-16 06:24:20 +02:00
# include "types.h"
2022-09-06 17:26:53 +02:00
# include "saved_byte_names.h"
# include "saved_flag_names.h"
2020-08-15 00:47:06 +02:00
2021-03-29 02:05:56 +02:00
enum StoryProgress {
2021-11-11 05:30:59 +01:00
STORY_INTRO = - 128 ,
STORY_CH0_WAKE_UP = - 127 ,
STORY_CH0_MET_INNKEEPER = - 126 ,
STORY_UNUSED_FFFFFF83 = - 125 ,
STORY_CH0_MET_GOOMPA = - 124 ,
STORY_CH0_GATE_CRUSHED = - 123 ,
STORY_CH0_FELL_OFF_CLIFF = - 122 ,
STORY_CH0_GOOMPA_JOINED_PARTY = - 121 ,
STORY_CH0_LOOKING_FOR_HAMMER = - 120 ,
STORY_CH0_FOUND_HAMMER = - 119 ,
STORY_CH0_DEFEATED_JR_TROOPA = - 118 ,
STORY_CH0_LEFT_THE_PLAYGROUND = - 117 ,
STORY_UNUSED_FFFFFF8C = - 116 ,
STORY_CH0_GOOMBARIO_JOINED_PARTY = - 115 ,
STORY_CH0_SMASHED_GATE_BLOCK = - 114 ,
STORY_CH0_DEFEATED_GOOMBA_BROS = - 113 ,
STORY_CH0_DEFEATED_GOOMBA_KING = - 112 ,
STORY_CH0_FOUND_GATEHOUSE_SWITCH = - 111 ,
STORY_CH0_HIT_GATEHOUSE_SWITCH = - 110 ,
STORY_CH0_OPENED_BRIDGE_TO_TOAD_TOWN = - 109 ,
STORY_CH0_KAMMY_RETURNED_TO_BOWSER = - 108 ,
STORY_CH0_ARRIVED_AT_TOAD_TOWN = - 107 ,
STORY_CH0_MET_STAR_SPIRITS = - 106 ,
STORY_CH0_BEGAN_PEACH_MISSION = - 105 ,
STORY_CH0_TWINK_GAVE_LUCKY_STAR = - 104 ,
STORY_CH0_RETURNED_TO_TOAD_TOWN = - 103 ,
STORY_CH1_SPOKE_WITH_MERLIN = - 102 ,
STORY_CH1_TOLD_MERLIN_ABOUT_DARK_TOADS = - 101 ,
STORY_CH1_MERLIN_REVEALED_KOOPA_BROS = - 100 ,
STORY_CH1_KNOCKED_SWITCH_FROM_TREE = - 99 ,
STORY_CH1_MADE_FIRST_BRIDGE = - 98 ,
STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE = - 97 ,
STORY_CH1_PROMISED_TO_HELP_KOOPER = - 96 ,
STORY_CH1_FUZZY_THIEF_LEFT_TOWN = - 95 ,
STORY_CH1_FUZZY_THIEF_RAN_AWAY = - 94 ,
STORY_CH1_FUZZY_THIEF_HID_IN_TREE = - 93 ,
STORY_CH1_KOOPER_JOINED_PARTY = - 92 ,
STORY_CH1_MADE_SECOND_BRIDGE = - 91 ,
STORY_CH1_ARRIVED_AT_KOOPA_FORTRESS = - 90 ,
STORY_CH1_SPOTTED_BY_KOOPA_BROS = - 89 ,
STORY_CH1_KOOPA_BROS_HID_KEY = - 88 ,
STORY_CH1_DEFEATED_BASEMENT_GUARD = - 87 ,
STORY_CH1_LOWERED_FIRST_STAIRS = - 86 ,
STORY_CH1_KOOPA_BROS_SET_TRAP = - 85 ,
STORY_CH1_MARIO_ACTIVATED_TRAP = - 84 ,
STORY_CH1_BOMBETTE_JOINED_PARTY = - 83 ,
STORY_CH1_DEFEATED_DUNGEON_GUARDS = - 82 ,
STORY_CH1_LOWERED_SECOND_STAIRS = - 81 ,
STORY_CH1_RAISED_SUBMERGED_STAIRS = - 80 ,
STORY_CH1_KOOPA_BROS_FIRING_BLASTERS = - 79 ,
STORY_CH1_DEFEATED_KOOPA_BROS = - 78 ,
STORY_CH1_STAR_SPIRIT_RESCUED = - 77 ,
STORY_CH1_BEGAN_PEACH_MISSION = - 76 ,
STORY_CH1_STAR_SPRIT_DEPARTED = - 75 ,
STORY_CH1_DEFEATED_JR_TROOPA = - 74 ,
STORY_CH1_RETURNED_TO_TOAD_TOWN = - 73 ,
STORY_CH2_ARRIVED_AT_MT_RUGGED = - 72 ,
STORY_CH2_SPOKE_WITH_PARAKARRY = - 71 ,
STORY_CH2_PARAKARRY_JOINED_PARTY = - 70 ,
STORY_CH2_ARRIVED_AT_DRY_DRY_DESERT = - 69 ,
STORY_CH2_ARRIVED_AT_DRY_DRY_OUTPOST = - 68 ,
STORY_CH2_SHADY_MOUSE_LEFT_SHOP = - 67 ,
STORY_CH2_SPOKE_WITH_SHEEK = - 66 ,
STORY_CH2_SHADY_MOUSE_ENTERED_SHOP = - 65 ,
STORY_CH2_BOUGHT_SECRET_ITEMS = - 64 ,
STORY_CH2_GOT_PULSE_STONE = - 63 ,
STORY_CH2_UNCOVERED_DRY_DRY_RUINS = - 62 ,
STORY_CH2_DRAINED_FIRST_SAND_ROOM = - 61 ,
STORY_CH2_DRAINED_SECOND_SAND_ROOM = - 60 ,
STORY_CH2_GOT_SUPER_HAMMER = - 59 ,
STORY_CH2_DRAINED_THIRD_SAND_ROOM = - 58 ,
STORY_CH2_SOLVED_ARTIFACT_PUZZLE = - 57 ,
STORY_CH2_DEFEATED_TUTANKOOPA = - 56 ,
STORY_CH2_STAR_SPIRIT_RESCUED = - 55 ,
STORY_CH2_BEGAN_PEACH_MISSION = - 54 ,
STORY_CH2_STAR_SPRIT_DEPARTED = - 53 ,
STORY_UNUSED_FFFFFFCC = - 52 ,
STORY_CH3_SAW_BOO_ENTER_FOREST = - 51 ,
STORY_CH3_INVITED_TO_BOOS_MANSION = - 50 ,
STORY_CH3_ALLOWED_INTO_FOREVER_FOREST = - 49 ,
STORY_CH3_ARRIVED_AT_BOOS_MANSION = - 48 ,
STORY_CH3_OPENED_BOOS_MANSION_GATE = - 47 ,
STORY_CH3_ENTERED_BOOS_MANSION = - 46 ,
STORY_CH3_TRIGGERED_DOOR_JUMP_SCARE = - 45 ,
STORY_CH3_GOT_RECORD = - 44 ,
STORY_CH3_PLAYED_THE_RECORD = - 43 ,
STORY_CH3_GOT_WEIGHT = - 42 ,
STORY_CH3_WEIGHED_DOWN_CHANDELIER = - 41 ,
STORY_CH3_GOT_SUPER_BOOTS = - 40 ,
STORY_CH3_HIT_HUGE_BLUE_SWITCH = - 39 ,
STORY_CH3_GOT_BOO_PORTRAIT = - 38 ,
STORY_CH3_RESTORED_BOO_PORTRAIT = - 37 ,
STORY_CH3_BOW_JOINED_PARTY = - 36 ,
STORY_CH3_UNLOCKED_GUSTY_GULCH = - 35 ,
STORY_CH3_ARRIVED_AT_GHOST_TOWN = - 34 ,
STORY_CH3_SAW_TUBBA_EAT_BOO = - 33 ,
STORY_CH3_ARRIVED_AT_TUBBAS_MANOR = - 32 ,
STORY_UNUSED_FFFFFFE1 = - 31 ,
STORY_CH3_TUBBA_BEGAN_NAPPING = - 30 ,
STORY_CH3_TUBBA_WOKE_UP = - 29 ,
STORY_CH3_TUBBA_SMASHED_THE_BRIDGES = - 28 ,
STORY_CH3_TUBBA_CHASED_MARIO_IN_HALL = - 27 ,
STORY_CH3_TUBBA_CHASED_MARIO_IN_FOYER = - 26 ,
STORY_CH3_ESCAPED_TUBBAS_MANOR = - 25 ,
STORY_CH3_UNLOCKED_WINDY_MILL = - 24 ,
STORY_CH3_WENT_DOWN_THE_WELL = - 23 ,
STORY_CH3_HEART_FLED_FIRST_TUNNEL = - 22 ,
STORY_UNUSED_FFFFFFEB = - 21 ,
STORY_UNUSED_FFFFFFEC = - 20 ,
STORY_CH3_HEART_FLED_SECOND_TUNNEL = - 19 ,
STORY_CH3_HEART_ESCAPED_WELL = - 18 ,
STORY_CH3_HEART_ESCAPED_WINDY_MILL = - 17 ,
STORY_CH3_DEFEATED_TUBBA_BLUBBA = - 16 ,
STORY_CH3_STAR_SPIRIT_RESCUED = - 15 ,
STORY_CH3_BEGAN_PEACH_MISSION = - 14 ,
STORY_CH3_STAR_SPRIT_DEPARTED = - 13 ,
STORY_CH4_FRYING_PAN_STOLEN = - 12 ,
STORY_CH4_MET_WITH_TWINK = - 11 ,
STORY_CH4_FOUND_HIDDEN_DOOR = - 10 ,
STORY_CH4_ENTERED_THE_TOY_BOX = - 9 ,
STORY_CH4_GOT_STOREROOM_KEY = - 8 ,
STORY_CH4_RETURNED_STOREROOM_KEY = - 7 ,
STORY_CH4_GOT_TOY_TRAIN = - 6 ,
STORY_CH4_RETURNED_TOY_TRAIN = - 5 ,
STORY_CH4_GOT_FRYING_PAN = - 4 ,
STORY_CH4_GOT_TAYCE_TS_CAKE = - 3 ,
STORY_CH4_GAVE_CAKE_TO_GOURMET_GUY = - 2 ,
STORY_CH4_PULLED_SWITCH_SWITCH = - 1 ,
STORY_CH4_SOLVED_COLOR_PUZZLE = 0 ,
STORY_CH4_DEFEATED_LANTERN_GHOST = 1 ,
STORY_CH4_WATT_JOINED_PARTY = 2 ,
STORY_CH4_OPENED_GENERAL_GUY_ROOM = 3 ,
STORY_CH4_DEFEATED_GENERAL_GUY = 4 ,
STORY_CH4_STAR_SPIRIT_RESCUED = 5 ,
STORY_CH4_BEGAN_PEACH_MISSION = 6 ,
STORY_CH4_STAR_SPRIT_DEPARTED = 7 ,
STORY_CH5_WHALE_MOUTH_OPEN = 8 ,
STORY_CH5_ENTERED_WHALE = 9 ,
STORY_CH5_DEFEATED_FUZZIPEDE = 10 ,
STORY_CH5_REACHED_LAVA_LAVA_ISLAND = 11 ,
STORY_CH5_KOLORADO_ESCAPED_FUZZIES = 12 ,
STORY_CH5_KOLORADO_ESCAPED_SPEAR_GUYS = 13 ,
STORY_CH5_YOSHI_CHILDREN_ARE_MISSING = 14 ,
STORY_CH5_SUSHIE_JOINED_PARTY = 15 ,
STORY_CH5_ALL_YOSHI_CHILDREN_RESCUED = 16 ,
STORY_CH5_GOT_JADE_RAVEN = 17 ,
STORY_CH5_MOVED_RAVEN_STATUE = 18 ,
STORY_CH5_DEFEATED_PIRANHAS_MINIBOSS = 19 ,
2023-10-14 21:43:12 +02:00
STORY_CH5_REACHED_RAPHAELS_TREE = 20 ,
STORY_CH5_RAPHAEL_LEFT_NEST = 21 ,
STORY_CH5_RAPHAEL_MOVED_ROOT = 22 ,
STORY_CH5_RAPHAEL_WAITING_FOR_MARIO = 23 ,
2021-11-11 05:30:59 +01:00
STORY_CH5_ZIP_LINE_READY = 24 ,
STORY_CH5_ENTERED_MT_LAVA_LAVA = 25 ,
STORY_CH5_KOLORADO_FELL_IN_LAVA = 26 ,
STORY_CH5_LAVA_STREAM_BLOCKED = 27 ,
STORY_CH5_GOT_ULTRA_HAMMER = 28 ,
STORY_CH5_SMASHED_ULTRA_BLOCK = 29 ,
STORY_CH5_KOLORADO_FELL_IN_PIT = 30 ,
STORY_CH5_KOLORADO_AT_DEAD_END = 31 ,
STORY_CH5_HIDDEN_PASSAGE_OPEN = 32 ,
STORY_CH5_KOLORADO_RAN_AHEAD = 33 ,
STORY_CH5_KOLORADO_IN_TREASURE_ROOM = 34 ,
STORY_CH5_DEFEATED_LAVA_PIRANHA = 35 ,
STORY_CH5_MT_LAVA_LAVA_ERUPTING = 36 ,
STORY_CH5_OPENED_ESCAPE_ROUTE = 37 ,
STORY_CH5_BEGAN_PEACH_MISSION = 38 ,
STORY_CH5_STAR_SPRIT_DEPARTED = 39 ,
STORY_CH5_TRADED_VASE_FOR_SEED = 40 ,
STORY_CH5_RETURNED_TO_TOAD_TOWN = 41 ,
STORY_CH6_FLOWER_GATE_OPEN = 42 ,
STORY_CH6_ARRIVED_AT_FLOWER_FIELDS = 43 ,
STORY_CH6_ASKED_TO_DEFEAT_MONTY_MOLES = 44 ,
STORY_CH6_GOT_MAGICAL_BEAN = 45 ,
STORY_CH6_GOT_FERTILE_SOIL = 46 ,
STORY_CH6_GOT_CRYSTAL_BERRY = 47 ,
STORY_CH6_GOT_WATER_STONE = 48 ,
STORY_CH6_FILLED_SPRING_WITH_WATER = 49 ,
STORY_CH6_SPOKE_WITH_THE_SUN = 50 ,
STORY_CH6_LAKILESTER_JOINED_PARTY = 51 ,
STORY_CH6_DEFEATED_PUFF_PUFF_GUARDS = 52 ,
STORY_CH6_DESTROYED_PUFF_PUFF_MACHINE = 53 ,
STORY_CH6_WISTERWOOD_GAVE_HINT = 54 ,
STORY_CH6_GREW_MAGIC_BEANSTALK = 55 ,
STORY_CH6_DEFEATED_HUFF_N_PUFF = 56 ,
STORY_CH6_STAR_SPIRIT_RESCUED = 57 ,
STORY_CH6_BEGAN_PEACH_MISSION = 58 ,
STORY_CH6_STAR_SPRIT_DEPARTED = 59 ,
STORY_CH6_RETURNED_TO_TOAD_TOWN = 60 ,
STORY_CH7_INVITED_TO_STARBORN_VALLEY = 61 ,
STORY_CH7_ARRIVED_AT_SHIVER_CITY = 62 ,
STORY_CH7_MAYOR_MURDER_MYSTERY = 63 ,
STORY_CH7_SHATTERED_FROZEN_POND = 64 ,
STORY_CH7_SPOKE_WITH_HERRINGWAY = 65 ,
STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE = 66 ,
STORY_CH7_MAYOR_MURDER_SOLVED = 67 ,
STORY_CH7_DEFEATED_JR_TROOPA = 68 ,
STORY_CH7_DEFEATED_MONSTAR = 69 ,
STORY_CH7_ARRIVED_AT_STARBORN_VALLEY = 70 ,
STORY_CH7_MERLE_APOLOGIZED = 71 ,
STORY_CH7_GOT_SNOWMAN_SCARF = 72 ,
STORY_CH7_GOT_SNOWMAN_BUCKET = 73 ,
STORY_CH7_UNLOCKED_SHIVER_MOUNTAIN = 74 ,
STORY_CH7_DEFEATED_FIRST_DUPLIGHOST = 75 ,
STORY_CH7_GOT_STAR_STONE = 76 ,
STORY_CH7_RAISED_FROZEN_STAIRS = 77 ,
STORY_CH7_ARRIVED_AT_CRYSTAL_PALACE = 78 ,
STORY_CH7_DEFEATED_MIRROR_DUPLIGHOSTS = 79 ,
STORY_CH7_DEFEATED_BOMBETTE_DUPLIGHOSTS = 80 ,
STORY_CH7_DEFEATED_CLUBBAS = 81 ,
STORY_CH7_DEFEATED_KOOPER_DUPLIGHOSTS = 82 ,
STORY_CH7_EXTENDED_PALACE_BRIDGE = 83 ,
STORY_CH7_FOUND_HIDDEN_ROOM_UNDER_STATUE = 84 ,
STORY_CH7_SOLVED_ALBINO_DINO_PUZZLE = 85 ,
STORY_CH7_DEFEATED_CRYSTAL_KING = 86 ,
STORY_CH7_STAR_SPIRIT_RESCUED = 87 ,
STORY_CH7_BEGAN_PEACH_MISSION = 88 ,
STORY_CH7_STAR_SPRIT_DEPARTED = 89 ,
STORY_CH8_OPENED_PATH_TO_STAR_WAY = 90 ,
STORY_CH8_REACHED_STAR_HAVEN = 91 ,
STORY_CH8_STAR_SHIP_ACTIVATED = 92 ,
STORY_UNUSED_0000005D = 93 ,
STORY_CH8_REACHED_BOWSERS_CASTLE = 94 ,
STORY_CH8_REACHED_PEACHS_CASTLE = 95 ,
STORY_EPILOGUE = 96 ,
2023-08-03 05:44:30 +02:00
STORY_NEVER = 97 ,
2021-03-29 02:05:56 +02:00
} ;
2023-02-06 01:13:45 +01:00
enum KoopaKootFavors {
KOOT_FAVOR_CH1_1 = 0 ,
KOOT_FAVOR_CH1_2 = 1 ,
KOOT_FAVOR_CH2_1 = 2 ,
KOOT_FAVOR_CH2_2 = 3 ,
KOOT_FAVOR_CH2_3 = 4 ,
KOOT_FAVOR_CH3_1 = 5 ,
KOOT_FAVOR_CH3_2 = 6 ,
KOOT_FAVOR_CH3_3 = 7 ,
KOOT_FAVOR_CH4_1 = 8 ,
KOOT_FAVOR_CH4_2 = 9 ,
KOOT_FAVOR_CH4_3 = 10 ,
KOOT_FAVOR_CH5_1 = 11 ,
KOOT_FAVOR_CH5_2 = 12 ,
KOOT_FAVOR_CH5_3 = 13 ,
KOOT_FAVOR_CH6_1 = 14 ,
KOOT_FAVOR_CH6_2 = 15 ,
KOOT_FAVOR_CH6_3 = 16 ,
KOOT_FAVOR_CH7_1 = 17 ,
KOOT_FAVOR_CH7_2 = 18 ,
KOOT_FAVOR_CH7_3 = 19 ,
} ;
enum KoopaKootFavorStates {
KOOT_FAVOR_STATE_0 = 0 ,
KOOT_FAVOR_STATE_1 = 1 ,
KOOT_FAVOR_STATE_2 = 2 ,
} ;
2021-03-29 09:34:39 +02:00
enum EncounterTriggers {
2021-11-11 05:30:59 +01:00
ENCOUNTER_TRIGGER_NONE = 1 ,
ENCOUNTER_TRIGGER_JUMP = 2 ,
ENCOUNTER_TRIGGER_SPIN = 3 ,
ENCOUNTER_TRIGGER_HAMMER = 4 ,
ENCOUNTER_TRIGGER_CONVERSATION = 5 ,
ENCOUNTER_TRIGGER_PARTNER = 6 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-01-03 10:56:30 +01:00
enum SoundOutputMode {
SOUND_OUT_MONO = 0 ,
SOUND_OUT_STEREO = 1 ,
} ;
2021-03-29 09:34:39 +02:00
enum SongIDs {
2021-11-11 05:30:59 +01:00
SONG_TOAD_TOWN = 0x00000000 ,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000001,
SONG_NORMAL_BATTLE = 0x00000002 ,
SONG_SPECIAL_BATTLE = 0x00000003 ,
SONG_JR_TROOPA_BATTLE = 0x00000004 ,
SONG_FINAL_BOWSER_BATTLE = 0x00000005 ,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000006,
SONG_GOOMBA_KING_BATTLE = 0x00000007 ,
SONG_KOOPA_BROS_BATTLE = 0x00000008 ,
SONG_FAKE_BOWSER_BATTLE = 0x00000009 ,
SONG_TUTANKOOPA_BATTLE = 0x0000000A ,
SONG_TUBBA_BLUBBA_BATTLE = 0x0000000B ,
SONG_GENERAL_GUY_BATTLE = 0x0000000C ,
SONG_LAVA_PIRANHA_BATTLE = 0x0000000D ,
SONG_HUFF_N_PUFF_BATTLE = 0x0000000E ,
SONG_CRYSTAL_KING_BATTLE = 0x0000000F ,
SONG_GOOMBA_VILLAGE = 0x00000010 ,
SONG_PLEASANT_PATH = 0x00000011 ,
SONG_FUZZY_ATTACK = 0x00000012 ,
SONG_KOOPA_VILLAGE = 0x00000013 ,
SONG_KOOPA_FORTRESS = 0x00000014 ,
SONG_DRY_DRY_OUTPOST = 0x00000015 ,
SONG_MT_RUGGED = 0x00000016 ,
SONG_DRY_DRY_DESERT = 0x00000017 ,
SONG_DRY_DRY_RUINS = 0x00000018 ,
SONG_RUINS_BASEMENT = 0x00000019 ,
SONG_FOREVER_FOREST = 0x0000001A ,
SONG_BOOS_MANSION = 0x0000001B ,
SONG_CHEERFUL_BOOS_MANSION = 0x0000001C ,
SONG_GUSTY_GULCH = 0x0000001D ,
SONG_TUBBAS_MANOR = 0x0000001E ,
SONG_TUBBA_ESCAPE = 0x0000001F ,
SONG_SHY_GUY_TOYBOX = 0x00000020 ,
SONG_TOYBOX_TRAIN = 0x00000021 ,
SONG_CREEPY_TOYBOX = 0x00000022 ,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000023,
SONG_JADE_JUNGLE = 0x00000024 ,
SONG_DEEP_JUNGLE = 0x00000025 ,
SONG_YOSHIS_VILLAGE = 0x00000026 ,
SONG_YOSHIS_PANIC = 0x00000027 ,
SONG_RAPHAEL_RAVEN = 0x00000028 ,
SONG_MT_LAVALAVA = 0x00000029 ,
SONG_VOLCANO_ESCAPE = 0x0000002A ,
SONG_STAR_WAY_OPENS = 0x0000002B ,
SONG_MASTER_BATTLE = 0x0000002C ,
SONG_RADIO_ISLAND_SOUNDS = 0x0000002D ,
SONG_RADIO_HOT_HITS = 0x0000002E ,
SONG_RADIO_GOLDEN_OLDIES = 0x0000002F ,
SONG_FLOWER_FIELDS_CLOUDY = 0x00000030 ,
SONG_FLOWER_FIELDS_SUNNY = 0x00000031 ,
SONG_CLOUDY_CLIMB = 0x00000032 ,
SONG_PUFF_PUFF_MACHINE = 0x00000033 ,
SONG_SUN_TOWER_CLOUDY = 0x00000034 ,
SONG_SUN_TOWER_SUNNY = 0x00000035 ,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000036,
SONG_CRYSTAL_PALACE = 0x00000037 ,
SONG_SHIVER_CITY = 0x00000038 ,
SONG_PENGUIN_MYSTERY = 0x00000039 ,
SONG_SHIVER_SNOWFIELD = 0x0000003A ,
SONG_SHIVER_MOUNTAIN = 0x0000003B ,
SONG_STARBORN_VALLEY = 0x0000003C ,
SONG_MERLAR_THEME = 0x0000003D ,
SONG_MAIL_CALL = 0x0000003E ,
SONG_PEACHS_CASTLE_PARTY = 0x0000003F ,
SONG_CHAPTER_END = 0x00000040 ,
SONG_CHAPTER_START = 0x00000041 ,
SONG_ITEM_UPGRADE = 0x00000042 ,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000043,
SONG_PHONOGRAPH_MUSIC = 0x00000044 ,
SONG_TUTANKOOPA_THEME = 0x00000045 ,
SONG_KAMMY_KOOPA_THEME = 0x00000046 ,
SONG_JR_TROOPA_THEME = 0x00000047 ,
SONG_BULLET_BILL_ASSAULT = 0x00000048 ,
SONG_MONTY_MOLE_ASSAULT = 0x00000049 ,
SONG_SHY_GUY_INVASION = 0x0000004A ,
SONG_TOAD_TOWN_TUNNELS = 0x0000004B ,
SONG_WHALE_THEME = 0x0000004C ,
SONG_FOREVER_FOREST_WARNING = 0x0000004D ,
SONG_YOSHI_KIDS_FOUND = 0x0000004E ,
SONG_UNUSED_FANFARE = 0x0000004F ,
SONG_GOOMBA_KING_THEME = 0x00000050 ,
SONG_KOOPA_BROS_INTERLUDE = 0x00000051 ,
SONG_KOOPA_BROS_THEME = 0x00000052 ,
SONG_TUTANKOOPA_WARNING = 0x00000053 ,
SONG_TUTANKOOPA_REVEALED = 0x00000054 ,
SONG_TUBBA_BLUBBA_THEME = 0x00000055 ,
SONG_GENERAL_GUY_THEME = 0x00000056 ,
SONG_LAVA_PIRANHA_THEME = 0x00000057 ,
SONG_HUFF_N_PUFF_THEME = 0x00000058 ,
SONG_CRYSTAL_KING_THEME = 0x00000059 ,
SONG_BLOOPER_THEME = 0x0000005A ,
SONG_MINIBOSS_BATTLE = 0x0000005B ,
SONG_MONSTAR_THEME = 0x0000005C ,
SONG_CLUB64 = 0x0000005D ,
SONG_UNUSED_OPENING = 0x0000005E ,
SONG_BOWSERS_CASTLE_FALLS = 0x0000005F ,
SONG_STAR_HAVEN = 0x00000060 ,
SONG_SHOOTING_STAR_SUMMIT = 0x00000061 ,
SONG_STARSHIP_THEME = 0x00000062 ,
SONG_STAR_SANCTUARY = 0x00000063 ,
SONG_BOWSERS_CASTLE = 0x00000064 ,
SONG_BOWSERS_CASTLE_CAVES = 0x00000065 ,
SONG_BOWSER_THEME = 0x00000066 ,
SONG_BOWSER_BATTLE = 0x00000067 ,
SONG_PEACH_WISHES = 0x00000068 ,
SONG_FILE_SELECT = 0x00000069 ,
SONG_MAIN_THEME = 0x0000006A ,
SONG_BOWSER_ATTACKS = 0x0000006B ,
SONG_MARIO_FALLS = 0x0000006C ,
SONG_PEACH_APPEARS = 0x0000006D ,
SONG_THE_END = 0x0000006E ,
SONG_RECOVERED_STAR_ROD = 0x0000006F ,
SONG_TWINK_THEME = 0x00000070 ,
SONG_STIRRING_CAKE = 0x00000071 ,
SONG_GOURMET_GUY_FREAKOUT = 0x00000072 ,
SONG_PRISONER_PEACH_THEME = 0x00000073 ,
SONG_PEACH_MISSION = 0x00000074 ,
SONG_PEACH_SNEAKING = 0x00000075 ,
SONG_PEACH_CAUGHT = 0x00000076 ,
SONG_PEACH_QUIZ_INTRO = 0x00000077 ,
SONG_STAR_SPIRIT_THEME = 0x00000078 ,
SONG_PENGUIN_WHODUNIT = 0x00000079 ,
SONG_PENGUIN_WAKES_UP = 0x0000007A ,
SONG_MAGIC_BEANSTALK = 0x0000007B ,
SONG_MERLEE_SPELL = 0x0000007C ,
SONG_LAKILESTER_THEME = 0x0000007D ,
SONG_GOOMBA_BROS_RETREAT = 0x0000007E ,
SONG_SUNSHINE_RETURNS = 0x0000007F ,
SONG_RIDING_THE_RAILS = 0x00000080 ,
SONG_RIDING_THE_WHALE = 0x00000081 ,
SONG_NEW_PARTNER = 0x00000082 ,
SONG_DRY_DRY_RUINS_APPEAR = 0x00000083 ,
SONG_CANDY_CANES = 0x00000084 ,
SONG_PLAYROOM = 0x00000085 ,
SONG_MOUSTAFA_THEME = 0x00000086 ,
SONG_GAME_OVER = 0x00000087 ,
SONG_TAKING_REST = 0x00000088 ,
SONG_FLOWER_NPC_THEME = 0x00000089 ,
SONG_FLOWER_GATE_APPEARS = 0x0000008A ,
SONG_BATTLE_END = 0x0000008B ,
SONG_POP_DIVA_SONG = 0x0000008C ,
SONG_BOO_MINIGAME = 0x0000008D ,
SONG_LEVEL_UP = 0x0000008E ,
//SONG_GOOMBA_VILLAGE_COPY = 0x0000008F,
SONG_PARADE_DAY = 0x00000090 ,
SONG_PARADE_NIGHT = 0x00000091 ,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000092,
//SONG_GOOMBA_VILLAGE_COPY = 0x00000093,
SONG_MARIO_BROS_HOUSE = 0x00000094 ,
SONG_INTRO_STORY = 0x00000095 ,
SONG_NEW_PARTNER_JP = 0x00000096 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum Abilities {
2021-11-11 05:30:59 +01:00
ABILITY_DODGE_MASTER = 0x00000000 ,
ABILITY_UNUSED = 0x00000001 ,
ABILITY_SPIKE_SHIELD = 0x00000002 ,
ABILITY_FIRST_ATTACK = 0x00000003 ,
ABILITY_HP_PLUS = 0x00000004 ,
ABILITY_DOUBLE_DIP = 0x00000005 ,
ABILITY_MYSTERY_SCROLL = 0x00000006 ,
ABILITY_FIRE_SHIELD = 0x00000007 ,
ABILITY_PRETTY_LUCKY = 0x00000008 ,
ABILITY_HP_DRAIN = 0x00000009 ,
ABILITY_ALL_OR_NOTHING = 0x0000000A ,
ABILITY_SLOW_GO = 0x0000000B ,
ABILITY_FP_PLUS = 0x0000000C ,
ABILITY_ICE_POWER = 0x0000000D ,
ABILITY_FEELING_FINE = 0x0000000E ,
ABILITY_ATTACK_FX = 0x0000000F ,
ABILITY_MONEY_MONEY = 0x00000010 ,
ABILITY_CHILL_OUT = 0x00000011 ,
ABILITY_HAPPY_HEART = 0x00000012 ,
ABILITY_ZAP_TAP = 0x00000013 ,
ABILITY_MEGA_RUSH = 0x00000014 ,
ABILITY_BERSERKER = 0x00000015 ,
ABILITY_RIGHT_ON = 0x00000016 ,
ABILITY_RUNAWAY_PAY = 0x00000017 ,
ABILITY_FLOWER_SAVER = 0x00000018 ,
ABILITY_PAY_OFF = 0x00000019 ,
ABILITY_QUICK_CHANGE = 0x0000001A ,
ABILITY_DEFEND_PLUS = 0x0000001B ,
ABILITY_POWER_PLUS = 0x0000001C ,
ABILITY_REFUND = 0x0000001D ,
ABILITY_POWER_RUSH = 0x0000001E ,
ABILITY_CRAZY_HEART = 0x0000001F ,
ABILITY_LAST_STAND = 0x00000020 ,
ABILITY_CLOSE_CALL = 0x00000021 ,
ABILITY_P_UP_D_DOWN = 0x00000022 ,
ABILITY_LUCKY_DAY = 0x00000023 ,
ABILITY_MEGA_HP_DRAIN = 0x00000024 ,
ABILITY_P_DOWN_D_UP = 0x00000025 ,
ABILITY_FLOWER_FANATIC = 0x00000026 ,
ABILITY_SPEEDY_SPIN = 0x00000027 ,
ABILITY_SPIN_ATTACK = 0x00000028 ,
ABILITY_I_SPY = 0x00000029 ,
ABILITY_BUMP_ATTACK = 0x0000002A ,
ABILITY_HEART_FINDER = 0x0000002B ,
ABILITY_FLOWER_FINDER = 0x0000002C ,
ABILITY_DIZZY_ATTACK = 0x0000002D ,
ABILITY_FINAL_GOOMPA = 0x0000002E ,
2023-02-06 01:13:45 +01:00
ABILITY_FINAL_BOBOMB = 0x0000002F ,
2021-11-11 05:30:59 +01:00
ABILITY_DEEP_FOCUS = 0x00000030 ,
ABILITY_SUPER_FOCUS = 0x00000031 ,
ABILITY_KAIDEN = 0x00000032 ,
ABILITY_DAMAGE_DODGE = 0x00000033 ,
ABILITY_HAPPY_FLOWER = 0x00000034 ,
ABILITY_GROUP_FOCUS = 0x00000035 ,
ABILITY_PEEKABOO = 0x00000036 ,
ABILITY_HEALTHY_HEALTHY = 0x00000037 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum Emotes {
2021-11-11 05:30:59 +01:00
EMOTE_EXCLAMATION = 0 ,
EMOTE_SHOCK = 1 ,
EMOTE_QUESTION = 2 ,
EMOTE_FRUSTRATION = 3 ,
EMOTE_ELLIPSIS = 4 ,
EMOTE_INVALID = 5 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-06-10 20:06:12 +02:00
enum Emoters {
EMOTER_PLAYER = 0 ,
2023-02-10 09:00:28 +01:00
EMOTER_NPC = 1 ,
EMOTER_POS = 2 ,
2022-06-10 20:06:12 +02:00
} ;
2023-01-25 03:33:20 +01:00
enum EasingType {
2021-11-11 05:30:59 +01:00
EASING_LINEAR = 0 ,
EASING_QUADRATIC_IN = 1 ,
EASING_CUBIC_IN = 2 ,
EASING_QUARTIC_IN = 3 ,
EASING_QUADRATIC_OUT = 4 ,
EASING_CUBIC_OUT = 5 ,
EASING_QUARTIC_OUT = 6 ,
EASING_COS_SLOW_OVERSHOOT = 7 ,
EASING_COS_FAST_OVERSHOOT = 8 ,
EASING_COS_BOUNCE = 9 ,
EASING_COS_IN_OUT = 10 ,
EASING_SIN_OUT = 11 ,
EASING_COS_IN = 12 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2023-11-10 06:19:40 +01:00
enum SoundIDBits {
SOUND_ID_STOP = 0x00008000 ,
SOUND_ID_LOWER = 0x000023FF ,
SOUND_ID_UNK = 0x00002000 , // sounds belonging to special large section
SOUND_ID_ADJUST = 0x00001000 ,
SOUND_ID_TRIGGER_MASK = 0x00000C00 ,
SOUND_ID_TRIGGER_CHANGE_VOLUME = 0x00000800 ,
SOUND_ID_TRIGGER_CHANGE_SOUND = 0x00000400 ,
SOUND_ID_SECTION_MASK = 0x00000300 , // corresponds to sections 0-3 for indices < 0xC0 and 4-7 for those above
SOUND_ID_INDEX_MASK = 0x000000FF ,
SOUND_ID_UNK_INDEX_MASK = 0x000001FF , // indices for the special large section
} ;
enum SoundType {
SOUND_TYPE_SPECIAL = 0x80000000 ,
SOUND_TYPE_LOOPING = 0 , // 0x80000000 (with SOUND_TYPE_SPECIAL)
SOUND_TYPE_EXIT_DOOR = 1 , // 0x90000000 (with SOUND_TYPE_SPECIAL)
SOUND_TYPE_ROOM_DOOR = 2 , // 0xA0000000 (with SOUND_TYPE_SPECIAL)
SOUND_TYPE_ALTERNATING = 3 , // 0xB0000000 (with SOUND_TYPE_SPECIAL)
} ;
2021-03-29 09:34:39 +02:00
enum SoundIDs {
2023-08-05 07:24:23 +02:00
SOUND_NONE = 0x00000000 ,
SOUND_OPEN_POPUP_1 = 0x00000001 ,
SOUND_OPEN_POPUP_2 = 0x00000002 ,
SOUND_LOWER_STATUS_BAR = 0x00000003 ,
SOUND_RAISE_STATUS_BAR = 0x00000004 ,
SOUND_MENU_BADGE_EQUIP = 0x00000005 ,
SOUND_MENU_BADGE_UNEQUIP = 0x00000006 ,
SOUND_MENU_SHOW_CHOICE = 0x00000009 ,
SOUND_CHIME_BEGIN_AMBUSH = 0x0000000A ,
SOUND_CHIME_SOLVED_PUZZLE = 0x0000000B ,
SOUND_ACTIVATE_COMPUTER = 0x0000000C , // unused
SOUND_PARTNER_PUT_AWAY = 0x0000000D ,
SOUND_PARTNER_GET_OUT = 0x0000000E ,
SOUND_PARTNER_SWAP_BATTLE_POS = 0x0000000F ,
SOUND_SAVE_CONFIRM = 0x00000010 ,
SOUND_MSG_VOICE_1A = 0x00000011 ,
SOUND_MSG_VOICE_1B = 0x00000012 ,
SOUND_MSG_VOICE_2A = 0x00000013 ,
SOUND_MSG_VOICE_2B = 0x00000014 ,
SOUND_MSG_VOICE_3A = 0x00000015 ,
SOUND_MSG_VOICE_3B = 0x00000016 ,
SOUND_MSG_VOICE_4A = 0x00000017 ,
SOUND_MSG_VOICE_4B = 0x00000018 ,
SOUND_MSG_VOICE_5A = 0x00000019 ,
SOUND_MSG_VOICE_5B = 0x0000001A ,
SOUND_MSG_VOICE_STAR = 0x0000001B ,
2023-08-12 23:08:33 +02:00
SOUND_LRAW_TRD_FLOWING_WATER = 0x00000021 ,
SOUND_LRAW_TRD_RAISE_STAIRS = 0x00000022 ,
2023-08-05 07:24:23 +02:00
SOUND_TRD_WATER_SPLASH = 0x00000023 ,
2023-08-12 23:08:33 +02:00
SOUND_LRAW_TRD_02_LOWER_STAIRS = 0x00000024 ,
SOUND_TRD_02_STAIRS_LOWERED = 0x00000025 ,
SOUND_TRD_PUZZLE_PLATFORM_THUD = 0x00000026 ,
SOUND_LRAW_TRD_04_LOWER_STAIRS = 0x00000027 ,
SOUND_TRD_04_STAIRS_LOWERED = 0x00000028 ,
2023-08-21 20:07:08 +02:00
SOUND_TRD_POUNDING_HIGH = 0x00000029 ,
SOUND_TRD_POUNDING_LOW = 0x0000002A ,
2023-08-05 07:24:23 +02:00
SOUND_TRD_MAGIC_DOOR_JUMP = 0x0000002B ,
SOUND_TRD_MAGIC_DOOR_LAND = 0x0000002C ,
2023-08-12 23:08:33 +02:00
SOUND_PRA_PUSH_STATUE = 0x0000002D ,
SOUND_PRA_FLIP_WALL = 0x0000002E ,
SOUND_PRA_EXTEND_HIDDEN_BRIDGE = 0x0000002F ,
SOUND_PRA_UNFOLD_EXIT = 0x00000030 ,
SOUND_LRAW_KKJ_RUMBLING = 0x00000033 ,
SOUND_LRAW_OSR_RUMBLING = 0x00000034 , // doesn't loop?
2023-08-21 20:07:08 +02:00
SOUND_OSR_GROUND_CRACKING = 0x00000035 ,
SOUND_OSR_SMOKE_RISING_1 = 0x00000036 ,
SOUND_OSR_SMOKE_RISING_2 = 0x00000037 ,
SOUND_OSR_SMOKE_RISING_3 = 0x00000038 ,
2023-10-14 21:43:12 +02:00
SOUND_LRAW_MAC_HARBOR_WATER = 0x00000039 , // #looping
SOUND_PRA_SHIFT_FLOORS_RUMBLE = 0x0000003F , // #looping
2023-08-21 20:07:08 +02:00
SOUND_PRA_SHIFT_FLOORS_THUD = 0x00000040 ,
SOUND_WHALE_JIGGLE = 0x00000041 ,
SOUND_WHALE_FILL = 0x00000042 ,
2023-10-14 21:43:12 +02:00
SOUND_LRAW_WHALE_GEYSER = 0x00000043 , // #looping
2023-08-21 20:07:08 +02:00
SOUND_WHALE_EJECT = 0x00000044 ,
2023-08-05 07:24:23 +02:00
SOUND_JR_TROOPA_SPLASH = 0x00000045 ,
SOUND_LRAW_JR_TROOPA_SWIM = 0x00000046 ,
SOUND_BOO_SPOOK = 0x00000047 ,
2023-08-12 23:08:33 +02:00
SOUND_OBJECT_LAND = 0x00000048 ,
2023-10-14 21:43:12 +02:00
SOUND_UNUSED_WATER_RUNNING = 0x00000049 , // #looping
2023-08-21 20:07:08 +02:00
SOUND_LRAW_JAN_BEACH_WAVES = 0x0000004A ,
SOUND_LRAW_OSR_FOUNTAIN_INTACT = 0x0000004C ,
SOUND_LRAW_OSR_FOUNTAIN_BROKEN = 0x0000004D ,
SOUND_LRAW_JAN_SMALL_GEYSER = 0x0000004E ,
SOUND_LRAW_JAN_LARGE_GEYSER = 0x0000004F ,
SOUND_LRAW_WINDMILL_EXT = 0x00000050 ,
SOUND_OMO_FLIP_TRACK_THUD = 0x00000051 ,
SOUND_LRAW_TROMP_ROLL = 0x00000052 ,
2023-10-14 21:43:12 +02:00
SOUND_ISK_DRAINING_SAND = 0x00000053 , // #looping
2023-08-21 20:07:08 +02:00
SOUND_ISK_FLIP_STAIRS = 0x00000054 ,
2023-10-22 14:39:20 +02:00
SOUND_LARGE_LENS_FLARE = 0x00000055 ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_ISK_LOWER_STAIRS = 0x00000056 ,
SOUND_ISK_STAIR_DROP_THUD = 0x00000057 ,
SOUND_ISK_STAIRS_EMERGE_RUMBLE = 0x00000058 ,
SOUND_ISK_STAIRS_EMERGE_THUD = 0x00000059 ,
SOUND_KKJ_ARENA_LENS_FLARE = 0x0000005A ,
SOUND_LRAW_SBK_RUINS_WHIRLWIND = 0x0000005B ,
SOUND_SBK_RUINS_FINISH_RISING = 0x0000005C ,
SOUND_LRAW_SBK_RUINS_RISING = 0x0000005D ,
SOUND_SBK_RUINS_STEPS_UNFOLD = 0x0000005E ,
SOUND_SBK_RUINS_PEDESTAL_SINK = 0x0000005F ,
SOUND_LRAW_SBK_RUINS_RISING_DISTANT = 0x00000060 ,
SOUND_GOOMPA_ATTACKED = 0x00000061 ,
SOUND_TWINK_DEPART = 0x00000062 ,
SOUND_UNUSED_STAR_SPIRIT_APPEARS = 0x00000063 ,
SOUND_MULTIPLE_STAR_SPIRITS_APPEAR = 0x00000064 ,
2023-08-12 23:08:33 +02:00
SOUND_NOK_BRIDGE_XYLOPHONE_1 = 0x00000067 ,
SOUND_NOK_BRIDGE_XYLOPHONE_2 = 0x00000068 ,
SOUND_NOK_BRIDGE_XYLOPHONE_3 = 0x00000069 ,
SOUND_NOK_BRIDGE_XYLOPHONE_4 = 0x0000006A ,
SOUND_NOK_BRIDGE_XYLOPHONE_5 = 0x0000006B ,
SOUND_NOK_BRIDGE_XYLOPHONE_6 = 0x0000006C ,
SOUND_NOK_BRIDGE_XYLOPHONE_7 = 0x0000006D ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_WINDMILL_GEARS = 0x00000070 ,
2023-08-12 23:08:33 +02:00
SOUND_NOK_BRIDGE_THUD_1 = 0x00000071 ,
SOUND_NOK_BRIDGE_THUD_2 = 0x00000072 ,
SOUND_NOK_BRIDGE_THUD_3 = 0x00000073 ,
SOUND_JR_TROOPA_SCAMPER = 0x00000074 ,
SOUND_NOK_HOUSE_CONFLICT = 0x00000077 ,
SOUND_PULSE_STONE = 0x0000007D ,
SOUND_TRAIN_DEPARTURE = 0x00000082 ,
SOUND_LRAW_TOYBOX_TRAIN_GEAR = 0x00000083 ,
2023-08-21 20:07:08 +02:00
SOUND_OMO_TOY_TRAIN_WHISTLE_B = 0x00000084 ,
2023-08-12 23:08:33 +02:00
SOUND_OMO_PLATFORM_ASCEND = 0x00000085 ,
SOUND_OMO_PLATFORM_DESCEND = 0x00000087 ,
SOUND_LRAW_AUDIENCE_MURMUR = 0x00000089 ,
SOUND_AUDIENCE_CHEER = 0x0000008A ,
SOUND_AUDIENCE_BOO = 0x0000008B ,
SOUND_QUIZ_NEXT_QUESTION = 0x0000008C ,
SOUND_QUIZ_BUZZER = 0x0000008D ,
SOUND_LRAW_QUIZ_TICKING = 0x0000008E ,
SOUND_QUIZMO_VANISH = 0x0000008F ,
SOUND_LRAW_PUFF_PUFF_MACHINE = 0x00000091 ,
2023-08-21 20:07:08 +02:00
SOUND_KKJ_USE_SNEAKY_PARASOL = 0x00000092 ,
2023-10-14 21:43:12 +02:00
SOUND_KKJ_ROTATING_WALL = 0x00000093 , // #looping
2023-08-12 23:08:33 +02:00
SOUND_LRAW_DGB_COLLAPSE = 0x00000094 ,
SOUND_DGB_COLLAPSE_1 = 0x00000095 ,
SOUND_DGB_COLLAPSE_2 = 0x00000096 ,
SOUND_DGB_COLLAPSE_4 = 0x00000097 ,
SOUND_DGB_COLLAPSE_3 = 0x00000098 ,
SOUND_LRAW_OBK_LOWER_CHAIN = 0x00000099 ,
SOUND_OBK_CAGE_SLAM = 0x0000009B ,
SOUND_OBK_CHANDELIER_SWING = 0x0000009D ,
SOUND_LRAW_MOVE_STATUE = 0x0000009E ,
SOUND_LRAW_MOVE_LARGE_STATUE = 0x0000009F ,
SOUND_LRAW_OMO_ROTATING_WHEEL = 0x000000A0 ,
SOUND_OMO_TOYBOX_TRAIN_DROP = 0x000000A1 ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_STAR_ORB_RISING = 0x000000A2 ,
2023-08-12 23:08:33 +02:00
SOUND_STARSHIP_APPEARS = 0x000000A3 ,
SOUND_KPA_LIGHT_RAYS = 0x000000A4 ,
2023-08-21 20:07:08 +02:00
SOUND_KMR_TOWER_COLLAPSE_RUMBLE_LOOP = 0x000000A5 ,
2023-08-12 23:08:33 +02:00
SOUND_KMR_TOWER_COLLAPSE_THUD = 0x000000A6 ,
SOUND_KMR_TOWER_COLLAPSE_UNFOLD = 0x000000A7 ,
SOUND_DGB_SMALL_THUD = 0x000000A8 ,
SOUND_ROWF_OPEN_SHOP = 0x000000A9 ,
SOUND_ROWF_PULL_RUG_OUT = 0x000000AA ,
SOUND_ROWF_CLOSE_SHOP = 0x000000AB ,
SOUND_ROWF_PUSH_RUG_IN = 0x000000AC ,
SOUND_LRAW_STAR_SANCTUARY_FAR = 0x000000AD ,
SOUND_LRAW_STAR_SANCTUARY_NEAR = 0x000000AE ,
SOUND_LRAW_STAR_SANCTUARY_INSIDE = 0x000000AF ,
2023-08-05 07:24:23 +02:00
SOUND_INTRO_NEXT_PAGE = 0x000000B0 ,
SOUND_MERLAR_APPEARS = 0x000000B1 ,
2023-08-21 20:07:08 +02:00
SOUND_STAR_ORB_BURST = 0x000000B2 ,
2023-08-05 07:24:23 +02:00
SOUND_TUBBA_POUNDING = 0x000000B4 ,
SOUND_BOO_VANISH_A = 0x000000C1 ,
SOUND_BOO_VANISH_B = 0x000000C2 ,
SOUND_BOO_APPEAR_A = 0x000000C3 ,
SOUND_BOO_APPEAR_B = 0x000000C4 ,
SOUND_MENU_OPEN = 0x000000C5 ,
SOUND_MENU_CLOSE = 0x000000C6 ,
SOUND_MENU_CHANGE_SELECTION = 0x000000C7 ,
SOUND_MENU_CHANGE_TAB = 0x000000C8 ,
SOUND_MENU_NEXT = 0x000000C9 ,
SOUND_MENU_BACK = 0x000000CA ,
SOUND_MSG_WAIT = 0x000000CB ,
SOUND_MSG_SKIP = 0x000000CC ,
SOUND_MSG_REWIND = 0x000000CD ,
SOUND_MSG_UNREWIND = 0x000000CE ,
SOUND_JINGLE_GOT_ITEM = 0x000000D1 ,
SOUND_JINGLE_GOT_KEY = 0x000000D2 ,
SOUND_JINGLE_GOT_BADGE = 0x000000D3 ,
SOUND_JINGLE_WON_BATTLE = 0x000000D4 ,
SOUND_FILE_MENU_IN = 0x000000D5 ,
SOUND_FILE_MENU_OUT = 0x000000D6 ,
SOUND_TRANSPORTER_IN = 0x000000D9 ,
SOUND_TRANSPORTER_OUT = 0x000000DA ,
SOUND_SLIDE_WHISTLE_IN = 0x000000DB , // unused
SOUND_SLIDE_WHISTLE_OUT = 0x000000DC ,
SOUND_HEAVY_OBJECT_DROP = 0x000000DD ,
SOUND_CHECK_LAUGHING_FLOWERS = 0x000000DF ,
SOUNC_CHECK_MAILBOX = 0x000000E0 ,
SOUND_HIT_PLAYER_NORMAL = 0x000000E1 ,
SOUND_HIT_PLAYER_FIRE = 0x000000E2 ,
SOUND_HIT_PLAYER_ICE = 0x000000E3 ,
SOUND_FROZEN_SHATTER = 0x000000E7 ,
SOUND_TOUCH_LAVA = 0x000000E8 ,
SOUND_HIT_NORMAL = 0x000000E9 ,
SOUND_HIT_FIRE = 0x000000EA ,
SOUND_HIT_ICE = 0x000000EB ,
2023-08-21 20:07:08 +02:00
SOUND_PLANTS_BELL = 0x000000F1 ,
SOUND_PLANTS_CYMBAL_CRASH = 0x000000F2 ,
SOUND_PLANTS_TRUMPET = 0x000000F3 ,
SOUND_PLANTS_LIGHT_UP = 0x000000F4 ,
SOUND_FIREPLACE_BURST = 0x000000F5 ,
SOUND_OBK_CHECK_CABINET = 0x000000F6 ,
SOUND_OBK_CABINET_CRASH = 0x000000F7 ,
SOUND_FLIP_PAGE = 0x000000F8 ,
SOUND_KKJ_REVEAL_BUTTON = 0x000000F9 ,
SOUND_KKJ_PRESS_BUTTON = 0x000000FA ,
SOUND_KKJ_DROP_INTO_ASHES = 0x000000FB ,
SOUND_KKJ_EXTINGUISH_FIRE = 0x000000FC ,
SOUND_SNEAKY_PARASOL_COPY = 0x000000FD ,
SOUND_SNEAKY_PARASOL_TRANSFORM = 0x000000FE ,
SOUND_START_OVEN_TIMER = 0x000000FF ,
SOUND_KOOPER_STEP = 0x00000100 ,
SOUND_HIT_SPIKE = 0x00000108 ,
SOUND_HAMMER_WINDUP = 0x0000010B ,
2023-08-05 07:24:23 +02:00
SOUND_IMMUNE = 0x0000010C ,
SOUND_HIT_BONES = 0x0000010D ,
2023-08-21 20:07:08 +02:00
SOUND_HIT_SILENT = 0x0000010E , // nothing is audible
2023-08-05 07:24:23 +02:00
SOUND_ACTOR_HURT = 0x0000010F ,
2023-08-21 20:07:08 +02:00
SOUND_HIT_RATTLE = 0x00000110 ,
SOUND_HEART_BLOCK = 0x00000131 ,
2023-10-22 14:39:20 +02:00
SOUND_UNUSED_HEAL_BLOCK = 0x00000133 , // #unused
2023-10-14 21:43:12 +02:00
SOUND_ASCENDING_CHIMES = 0x00000134 , // #unused
SOUND_DESCENDING_CHIMES = 0x00000135 , // #unused
2023-08-21 20:07:08 +02:00
SOUND_STAR_CARD_APPEARS = 0x00000137 ,
SOUND_RESCUE_STAR_SPIRIT = 0x00000138 ,
SOUND_RECEIVE_STAR_POWER = 0x00000139 ,
SOUND_MONSTAR_BREAKS_APART = 0x0000013D ,
SOUND_STAR_KID_FLYING = 0x0000013E ,
2023-08-05 07:24:23 +02:00
SOUND_STEP_NORMAL1 = 0x00000141 ,
SOUND_STEP_NORMAL2 = 0x00000142 ,
SOUND_STEP_CRUNCHY1 = 0x00000143 ,
SOUND_STEP_CRUNCHY2 = 0x00000144 ,
SOUND_SPIN_JUMP = 0x00000146 ,
SOUND_TORNADO_JUMP = 0x00000147 ,
SOUND_LAND_SOFTLY = 0x00000148 ,
SOUND_LAND_SPIN_JUMP = 0x00000149 ,
SOUND_LAND_TORANDO_JUMP = 0x0000014A ,
SOUND_HIT_BLOCK = 0x0000014E ,
SOUND_SMASH_HAMER_BLOCK_1 = 0x0000014F ,
SOUND_SMASH_HAMER_BLOCK_2 = 0x00000150 ,
SOUND_SMASH_HAMER_BLOCK_3 = 0x00000151 ,
SOUND_ACTIVATE_SWITCH = 0x00000152 ,
SOUND_SEARCH_BUSH = 0x00000153 ,
2023-08-21 20:07:08 +02:00
SOUND_PLAYER_CHARGE = 0x00000156 ,
SOUND_BLOCK_SHATTER = 0x00000158 ,
2023-10-22 14:39:20 +02:00
SOUND_SMALL_BOING = 0x00000159 , // #spring #boing #unused
2023-10-14 21:43:12 +02:00
SOUND_ACTOR_JUMPED_1 = 0x0000015A , // #unused
SOUND_ACTOR_JUMPED_2 = 0x0000015B , // #unused
SOUND_ACTOR_JUMPED_3 = 0x0000015C , // #unused
2023-08-21 20:07:08 +02:00
SOUND_PLAYER_RUN_IN_PLACE = 0x0000015D ,
SOUND_PLAYER_RUN_AWAY = 0x0000015E ,
2023-10-22 14:39:20 +02:00
SOUND_LONG_PLAYER_JUMP = 0x00000160 ,
2023-08-21 20:07:08 +02:00
SOUND_PLAYER_LONG_FALL = 0x00000161 ,
SOUND_TRIP = 0x00000162 ,
2023-08-05 07:24:23 +02:00
SOUND_ENTER_PIPE = 0x00000163 ,
2023-10-14 21:43:12 +02:00
SOUND_LRAW_NOTHING_26 = 0x00000164 , // #unused #nodata
2023-08-21 20:07:08 +02:00
SOUND_SMACK_TREE = 0x00000165 ,
SOUND_SHAKE_TREE_LEAVES = 0x00000166 ,
2023-10-14 21:43:12 +02:00
SOUND_SLIDE = 0x00000167 , // #looping
2023-08-21 20:07:08 +02:00
SOUND_LRAW_ZIPLINE_RIDE = 0x00000168 ,
2023-08-05 07:24:23 +02:00
SOUND_DUST_OFF = 0x00000172 ,
2023-10-14 21:43:12 +02:00
SOUND_RUN_AWAY_BUILDUP = 0x00000173 ,
SOUND_RUN_AWAY = 0x00000174 ,
SOUND_PAPER_GLIDE_1 = 0x00000175 ,
SOUND_PAPER_GLIDE_2 = 0x00000176 ,
2023-08-21 20:07:08 +02:00
SOUND_LUIGI_STEP_A = 0x00000179 ,
SOUND_LUIGI_STEP_B = 0x0000017A ,
2023-10-14 21:43:12 +02:00
SOUND_ISPY = 0x0000017B ,
SOUND_STARSHIP_ENGINE_LOOP = 0x0000017C , // #looping
SOUND_STARSHIP_TAKEOFF_LONG = 0x0000017D ,
SOUND_STARSHIP_TAKEOFF_SHORT = 0x0000017E ,
SOUND_STARSHIP_ARRIVE = 0x0000017F ,
SOUND_STARSHIP_NEAR_FLYBY = 0x00000180 ,
SOUND_STARSHIP_ASCEND = 0x00000181 ,
SOUND_STARSHIP_FLY_AWAY = 0x00000182 ,
SOUND_STARSHIP_FLY_TOWARD = 0x00000183 ,
SOUND_SPRINKLE_MAGIC = 0x00000184 , // #unused
2023-08-21 20:07:08 +02:00
SOUND_LRAW_ZIPLINE_RETURN = 0x00000185 ,
2023-10-14 21:43:12 +02:00
SOUND_JAN_BASKET_ELEVATOR = 0x00000186 ,
SOUND_FLO_STAIRS_LOWERING = 0x00000187 , // #rocky #scrape #rumble
2023-08-21 20:07:08 +02:00
SOUND_GET_STAR_POWER_WAVE = 0x00000188 ,
2023-10-14 21:43:12 +02:00
SOUND_LRAW_JAN_CONSTRUCTION = 0x00000189 ,
SOUND_JAN_RAPHAEL_POUND = 0x0000018A , // #heavy #impact #thud
SOUND_JAN_ROOT_WOBBLE_1 = 0x0000018C ,
SOUND_JAN_ROOT_WOBBLE_2 = 0x0000018D ,
SOUND_JAN_ROOT_WOBBLE_3 = 0x0000018E ,
SOUND_FLO_PUFF_PUFF_SMOKE_BURST = 0x00000190 , // #explode
SOUND_JAN_BOULDER_TREMBLE = 0x00000191 , // #rocky #knock #short #impact
SOUND_FLO_BLOW_BUBBLE = 0x00000193 ,
SOUND_LRAW_BUBBLE_DRIFT = 0x00000194 , // #looping
SOUND_LRAW_FLO_FILL_WATER_POOL = 0x00000197 , // #looping
SOUND_LRAW_FLO_WATER_FLOW_1 = 0x00000198 , // #looping #gentle
SOUND_LRAW_FLO_WATER_FLOW_2 = 0x00000199 , // #looping #fountain
SOUND_LRAW_FLO_RELEASE_FOUNTAIN = 0x0000019A , // #looping #fountain
SOUND_FLO_BEANSTALK_START_GROWING = 0x0000019B ,
SOUND_FLO_RIDE_BEANSTALK_UP_LOOP = 0x0000019C , // #looping
SOUND_FLO_RIDE_BEANSTALK_DOWN_LOOP = 0x0000019D , // #looping
SOUND_FLO_MAGIKOOPA_FLY_AWAY = 0x0000019E ,
SOUND_FLO_LAKITU_FLY_AWAY = 0x0000019F ,
SOUND_FLO_PUFF_PUFF_EXPLODE = 0x000001A0 , // #explode
SOUND_OMO_BOX_GLOW_1 = 0x000001A1 ,
SOUND_OMO_BOX_GLOW_2 = 0x000001A2 ,
SOUND_OMO_BOX_GLOW_3 = 0x000001A3 ,
SOUND_OMO_BOX_GLOW_4 = 0x000001A4 ,
SOUND_OMO_BOX_CHIME_1 = 0x000001A5 ,
SOUND_OMO_BOX_CHIME_2 = 0x000001A6 ,
SOUND_OMO_BOX_CHIME_3 = 0x000001A7 ,
SOUND_OMO_BOX_CHIME_4 = 0x000001A8 ,
SOUND_OMO_BOX_DONE = 0x000001A9 ,
SOUND_OMO_TOYBOX_LID = 0x000001AA ,
SOUND_OMO_SECRET_DOOR_OPEN = 0x000001AB ,
SOUND_OMO_SECRET_DOOR_CLOSE = 0x000001AC ,
SOUND_FLYING_PYROCLAST_1 = 0x000001AD ,
SOUND_FLYING_PYROCLAST_2 = 0x000001AE ,
SOUND_JAN_CHEST_IMPACT = 0x000001AF ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_NOK_WATER = 0x000001B1 ,
SOUND_LRAW_TRD_WATER_EXT = 0x000001B2 ,
SOUND_LRAW_SBK_OASIS_WATER = 0x000001B3 ,
2023-08-05 07:24:23 +02:00
SOUND_BASIC_DOOR_OPEN = 0x000001C1 ,
SOUND_BASIC_DOOR_CLOSE = 0x000001C2 ,
SOUND_METAL_DOOR_OPEN = 0x000001C3 ,
SOUND_METAL_DOOR_CLOSE = 0x000001C4 ,
SOUND_LARGE_DOOR_OPEN = 0x000001C5 ,
SOUND_LARGE_DOOR_CLOSE = 0x000001C6 ,
SOUND_CREAKY_DOOR_OPEN = 0x000001C7 ,
SOUND_CREAKY_DOOR_CLOSE = 0x000001C8 ,
SOUND_METAL_GATE_OPEN = 0x000001C9 ,
SOUND_METAL_GATE_CLOSE = 0x000001CA ,
2023-08-21 20:07:08 +02:00
SOUND_WINDOW_OPEN_A = 0x000001CB ,
SOUND_WINDOW_CLOSE_A = 0x000001CC ,
SOUND_WINDOW_OPEN_B = 0x000001CD ,
SOUND_WINDOW_CLOSE_B = 0x000001CE ,
SOUND_WOODEN_DOOR_OPEN = 0x000001CF ,
SOUND_WOODEN_DOOR_CLOSE = 0x000001D0 ,
SOUND_SARCOPHAGUS_OPEN = 0x000001D1 ,
SOUND_GOOMBA_GATE_OPEN = 0x000001D2 ,
SOUND_OPEN_CHEST = 0x000001D3 ,
SOUND_FOREST_GATE_OPEN = 0x000001D4 ,
SOUND_FOREST_GATE_CLOSE = 0x000001D5 ,
SOUND_CREAKY_ROCKING = 0x000001D6 ,
SOUND_KKJ_WINDOW_TAP = 0x000001D8 ,
SOUND_OMO_DOOR_FLIP = 0x000001D9 ,
SOUND_PUSH_BLOCK_FALL = 0x000001DA ,
SOUND_FLO_LOG_OPEN = 0x000001DB ,
SOUND_FLO_LOG_CLOSE = 0x000001DC ,
SOUND_SAM_RAISE_BARRIER = 0x000001DD ,
SOUND_SAM_LOWER_BARRIER = 0x000001DE ,
SOUND_AIRSHIP_DOCK_DOOR_OPEN = 0x000001DF ,
SOUND_AIRSHIP_DOCK_DOOR_CLOSE = 0x000001E0 ,
SOUND_KMR_TOWER_RUMBLE = 0x000001E1 ,
SOUND_DISTANT_THUD = 0x000001E2 ,
SOUND_TROMP_DROP = 0x000001E3 ,
SOUND_TROMP_CRASH = 0x000001E4 ,
SOUND_PUFF_PUFF_SMASH = 0x000001E5 ,
SOUND_PUFF_PUFF_PART_BREAKS = 0x000001E6 ,
SOUND_PUFF_PUFF_PANEL_BREAKS = 0x000001E7 ,
SOUND_BOING = 0x000001E8 ,
SOUND_SAM_DROP_STAIR = 0x000001E9 ,
SOUND_SAM_BARRIER_THUD = 0x000001EA ,
SOUND_SAM_PLACE_STAR_STONE = 0x000001EB ,
SOUND_SAM_ICE_STEP_THUD = 0x000001EC ,
SOUND_PRA_ROTATE_ALBINO_DINO = 0x000001ED ,
2023-08-12 23:08:33 +02:00
SOUND_PRA_UNFOLD_STEP = 0x000001EE ,
SOUND_KPA_DROP_WALL = 0x000001EF ,
2023-08-21 20:07:08 +02:00
SOUND_YOSHI_KID_CRY = 0x000001F0 ,
SOUND_OMO_TRAIN_TRACK_LEVER = 0x000001F1 ,
SOUND_OMO_FLIP_TRAIN_TRACK = 0x000001F2 ,
SOUND_OMO_COLORED_PANEL_DROP = 0x000001F3 ,
SOUND_OMO_BARRICADE_DROP = 0x000001F4 ,
SOUND_OMO_LANTERN_BREAK = 0x000001F5 ,
SOUND_OMO_TRAIN_SWITCH_RATTLE = 0x000001F9 ,
SOUND_OMO_TRAIN_SWITCH_SELECT = 0x000001FA ,
SOUND_TRAIN_CHUG_A = 0x000001FB ,
SOUND_TRAIN_CHUG_B = 0x000001FC ,
SOUND_TRAIN_RELEASE_STEAM = 0x000001FD ,
SOUND_OMO_TOY_TRAIN_CLICK = 0x000001FE ,
SOUND_OMO_TOY_TRAIN_WHISTLE_A = 0x000001FF ,
SOUND_MERLEE_TWIRL = 0x00000201 ,
SOUND_MERLEE_GATHER_ENERGY = 0x00000202 ,
SOUND_MERLEE_SHOW_CARD = 0x00000203 ,
SOUND_MERLEE_GATHER_CARDS = 0x00000204 ,
SOUND_MERLEE_RELEASE_PLAYER = 0x00000205 ,
SOUND_MERLEE_COMPLETE_SPELL = 0x00000206 ,
SOUND_LRAW_CRYSTAL_BALL_GLOW = 0x00000207 ,
SOUND_CRYSTAL_BALL_WAVE = 0x00000208 ,
SOUND_MERLON_GATHER = 0x00000209 ,
SOUND_MERLON_STRIKE = 0x0000020A ,
2023-10-14 21:43:12 +02:00
SOUND_LOWER_PITCH_MAGIC = 0x0000020B , // #unused
2023-08-21 20:07:08 +02:00
SOUND_RAVEN_FALL_A = 0x0000020C ,
SOUND_RAVEN_FALL_B = 0x0000020D ,
SOUND_RAVEN_FALL_C = 0x0000020E ,
2023-08-05 07:24:23 +02:00
SOUND_COIN_PICKUP = 0x00000211 ,
SOUND_COIN_BOUNCE = 0x00000212 ,
SOUND_HEART_PICKUP = 0x00000213 ,
SOUND_HEART_BOUNCE = 0x00000214 ,
SOUND_STAR_POINT_PICKUP = 0x00000215 ,
SOUND_FLOWER_PICKUP = 0x00000217 ,
SOUND_FLOWER_BOUNCE = 0x00000218 ,
SOUND_STAR_PIECE_BOUNCE = 0x00000219 ,
2023-08-12 23:08:33 +02:00
SOUND_ITEM_BOUNCE = 0x0000021A ,
SOUND_BADGE_BOUNCE = 0x0000021B ,
SOUND_APPROVE = 0x0000021C ,
2023-08-05 07:24:23 +02:00
SOUND_MENU_ERROR = 0x0000021D ,
2023-08-12 23:08:33 +02:00
SOUND_LRAW_KPA_CHAIN_DRIVE = 0x00000221 ,
SOUND_KPA_DUMP_LAVA = 0x00000222 ,
2023-10-14 21:43:12 +02:00
SOUND_KPA_BOWSER_POWER_UP = 0x00000223 ,
SOUND_KPA_BOWSER_POWER_DOWN = 0x00000224 , // #unused
SOUND_KPA_QUIZ_DOORS_OPEN = 0x00000225 , // #stony #scraping
SOUND_KPA_QUIZ_DOORS_CLOSE = 0x00000226 , // #stony #scraping
SOUND_KPA_RAISE_STONE_PLATFORM = 0x00000227 , // #stony #scraping #rumble
SOUND_KPA_LOWER_STONE_PLATFORM = 0x00000228 , // #stony #scraping #rumble
SOUND_KPA_PULL_CHAIN = 0x00000229 , // #metallic #rattle
SOUND_LRAW_KPA_FILL_WATER = 0x0000022A , // #looping #flush #flowing #water
SOUND_LRAW_KPA_DRAIN_WATER = 0x0000022B , // #looping #flush #flowing #water
SOUND_LRAW_KPA_ARENA_TURN_ON = 0x0000022C , // #electric #humming #machine
SOUND_LRAW_KPA_ARENA_ACTIVE = 0x0000022D , // #electric #humming #machine
SOUND_KPA_EXPLOSION_A = 0x0000022E , // #explosion
SOUND_KPA_EXPLOSION_B = 0x0000022F , // #explosion
SOUND_KPA_EXPLOSION_CLUSTER = 0x00000230 , // #explosion
SOUND_DAMAGE_STARS = 0x00000231 , // also used when blocking
SOUND_COLLECT_1UP = 0x00000232 , // #unused
2023-08-12 23:08:33 +02:00
SOUND_TIMING_BAR_TICK = 0x00000233 ,
SOUND_TIMING_BAR_GO = 0x00000234 ,
SOUND_JUMP_COMBO_1 = 0x00000235 ,
SOUND_JUMP_COMBO_2 = 0x00000236 ,
SOUND_JUMP_COMBO_3 = 0x00000237 ,
SOUND_JUMP_COMBO_4 = 0x00000238 ,
2023-10-14 21:43:12 +02:00
SOUND_JUMP_COMBO_5 = 0x00000239 , // #unused
SOUND_JUMP_COMBO_6 = 0x0000023A , // #unused
SOUND_JUMP_COMBO_7 = 0x0000023B , // #unused rings a bit longer than the others
SOUND_JUMP_COMBO_8 = 0x0000023C , // #unused
2023-08-12 23:08:33 +02:00
SOUND_LRAW_BOWSER_PROPELLER = 0x0000023D ,
SOUND_BEGIN_WISH = 0x00000241 ,
SOUND_REFRESH = 0x00000242 ,
SOUND_CHILL_OUT = 0x00000244 ,
SOUND_SMOOCH = 0x00000245 ,
SOUND_TIME_OUT = 0x00000246 ,
SOUND_UP_AND_AWAY_CAST = 0x00000247 ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_USE_STAR_BEAM = 0x00000248 ,
SOUND_LRAW_USE_PEACH_BEAM = 0x00000249 ,
SOUND_STAR_BEAM_FIRE = 0x0000024A ,
SOUND_MERLEE_APPEAR = 0x0000024B ,
SOUND_SHOOTING_STAR_FALL_A = 0x00000259 ,
SOUND_SHOOTING_STAR_FALL_B = 0x0000025A ,
SOUND_STAR_BOUNCE_A = 0x0000025C ,
SOUND_STAR_BOUNCE_B = 0x0000025D ,
2023-10-14 21:43:12 +02:00
SOUND_ISK_PLACE_IN_SOCKET = 0x00000261 , // #stony #thud
SOUND_EMOTE_IDEA = 0x00000262 ,
SOUND_EMOTE_QUESTION = 0x00000263 ,
SOUND_ISK_DOOR_OPEN = 0x00000265 ,
SOUND_ISK_DOOR_CLOSE = 0x00000266 ,
SOUND_ISK_DOOR_SLAM = 0x00000267 , // #stony #thud #heavy
SOUND_USE_KEY = 0x00000269 , // #metallic #rattle
SOUND_LOCK_DROP = 0x0000026A , // #metallic #hollow #thud
SOUND_LARGE_GATE_OPEN = 0x0000026B , // #metallic #blowing
SOUND_LARGE_GATE_CLOSE = 0x0000026C , // #metallic #thud
SOUND_METAL_CRASH = 0x00000270 , // #unused #metallic #thud
SOUND_LRAW_TIK_WATER = 0x00000271 , // #water
SOUND_LRAW_WATER_FLOWING_1 = 0x00000273 , // #water #flowing
SOUND_LRAW_WATER_FLOWING_2 = 0x00000274 , // #water #flowing
SOUND_LRAW_WATER_FLOWING_3 = 0x00000275 , // #water #flowing
SOUND_LRAW_WATER_FLOWING_4 = 0x00000276 , // #water #flowing
SOUND_GOOMBARIO_HEADBONK = 0x00000281 , // #descending #falling
2023-08-21 20:07:08 +02:00
SOUND_TATTLE_WINDOW_OPEN = 0x00000282 ,
2023-10-22 14:39:20 +02:00
SOUND_KOOPER_SHELL_KICK = 0x00000283 ,
SOUND_KOOPER_SHELL_SWIRL = 0x00000284 ,
SOUND_KOOPER_PICKUP = 0x00000286 ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_BOMBETTE_FUSE = 0x00000287 ,
2023-10-22 14:39:20 +02:00
SOUND_LAKILESTER_HURRICANE_WIND = 0x00000288 ,
SOUND_WATT_CHARGE = 0x00000289 ,
SOUND_WATT_POWER_SHOCK = 0x0000028A ,
SOUND_WATT_TURBO_CHARGE = 0x0000028B ,
SOUND_WATT_MEGA_DISCHARGE = 0x0000028C ,
SOUND_WATT_WHOOSH_SHOCK = 0x0000028D , // #unused
SOUND_ROARING_FIRE = 0x0000028E ,
SOUND_FIRE_SHELL_LAUNCH = 0x0000028F ,
SOUND_DIZZY_SHELL_LAUNCH = 0x00000290 ,
2023-08-05 07:24:23 +02:00
SOUND_BOW_SPOOK = 0x00000291 ,
2023-08-12 23:08:33 +02:00
SOUND_BOOTLER_SPOOK = 0x00000292 ,
2023-08-21 20:07:08 +02:00
SOUND_BOOTLER_HIDE = 0x00000293 ,
2023-08-12 23:08:33 +02:00
SOUND_SUSHIE_DIVE = 0x00000294 ,
SOUND_FLIGHT = 0x00000295 ,
SOUND_SUSHIE_SQUIRT = 0x00000297 ,
SOUND_SUSHIE_FOUNTAIN = 0x00000298 ,
SOUND_DESTROY_WATER_BLOCK = 0x00000299 ,
SOUND_SUSHIE_STEP = 0x0000029A ,
SOUND_TIDAL_WAVE_LEAP_A = 0x0000029B ,
SOUND_TIDAL_WAVE_LEAP_B = 0x0000029C ,
SOUND_TIDAL_WAVE_WATER = 0x0000029D ,
SOUND_SUSHIE_FLOP = 0x000002A0 ,
SOUND_PLANT_FLOWERS = 0x000002A1 ,
SOUND_FLOWER_GATE = 0x000002A2 ,
2023-08-21 20:07:08 +02:00
SOUND_WOODEN_DOOR_SPINNING = 0x000002A3 ,
SOUND_WOODEN_DOOR_WAVES = 0x000002A4 ,
2023-08-12 23:08:33 +02:00
SOUND_RAVEN_LEAP_A = 0x000002A6 ,
SOUND_RAVEN_LEAP_B = 0x000002A7 ,
SOUND_LRAW_BOBOMB_FUSE = 0x000002A8 ,
SOUND_TWINK_FLY_B = 0x000002AA ,
SOUND_PARAGOOMBA_DIVE = 0x000002C1 ,
SOUND_HURT_PLANT_BITE = 0x000002C4 ,
2023-10-22 14:39:20 +02:00
SOUND_SPIKE_SUMMON_SPINY = 0x000002C5 ,
SOUND_SPIKE_THROW_SPINY = 0x000002C6 ,
2023-08-12 23:08:33 +02:00
SOUND_SPINY_SPIN_UP = 0x000002C7 ,
SOUND_BULLET_BILL_FIRE = 0x000002C8 ,
2023-08-05 07:24:23 +02:00
SOUND_BULLET_BILL_MOTION = 0x000002C9 ,
2023-08-12 23:08:33 +02:00
SOUND_DUPLIGHOST_STEP = 0x000002CA ,
SOUND_DUPLIGHOST_LEAP = 0x000002CB ,
SOUND_DUPLIGHOST_POWER_DOWN = 0x000002CC , // unused
2023-08-05 07:24:23 +02:00
SOUND_SMOKE_BURST = 0x000002CD ,
2023-08-12 23:08:33 +02:00
SOUND_POKEY_THROW = 0x000002CE ,
SOUND_EMBER_JUMP = 0x000002CF ,
2023-08-21 20:07:08 +02:00
SOUND_EMBER_SPIT = 0x000002D0 ,
SOUND_DRY_BONES_THROW = 0x000002D1 ,
SOUND_DRY_BONES_COLLAPSE = 0x000002D2 ,
SOUND_DRY_BONES_ARISE = 0x000002D3 ,
SOUND_DRY_BONES_RATTLE = 0x000002D4 ,
2023-08-05 07:24:23 +02:00
SOUND_DAYZEE_JUMP = 0x000002D5 ,
2023-08-21 20:07:08 +02:00
SOUND_DAYZEE_STEP = 0x000002D6 ,
2023-08-05 07:24:23 +02:00
SOUND_DAYZEE_SONG = 0x000002D7 ,
SOUND_POWER_UP = 0x000002D8 ,
2023-10-22 14:39:20 +02:00
SOUND_HYPER_CLEFT_LAND = 0x000002D9 ,
SOUND_HYPER_CLEFT_CHARGE = 0x000002DA ,
SOUND_MAGIKOOPA_VANISH = 0x000002DB ,
SOUND_MAGIKOOPA_WAND_STRIKE = 0x000002DC ,
SOUND_MAGIKOOPA_POWER_UP = 0x000002DD ,
SOUND_SUMMON_CRYSTAL_BITS = 0x000002DE , // #windy #chimes
SOUND_SUMMON_CRYSTAL_CLONES = 0x000002DF ,
SOUND_CRYSTAL_KING_ICE_BOLT = 0x000002E0 ,
2023-08-12 23:08:33 +02:00
SOUND_SKY_GUY_BALLOON_POP = 0x000002E1 ,
SOUND_GROOVE_GUY_TWIRL = 0x000002E2 ,
SOUND_GROOVE_GUY_LEAP = 0x000002E3 ,
SOUND_GROOVE_GUY_SPIN_DOWN = 0x000002E4 ,
SOUND_CALL_FOR_BACKUP = 0x000002E5 ,
SOUND_GROOVE_GUY_SUMMON = 0x000002E6 ,
SOUND_SLINGSHOT_DRAW = 0x000002E7 ,
SOUND_SLINGSHOT_FIRE = 0x000002E8 ,
SOUND_HAMMER_BROS_THROW = 0x000002E9 ,
SOUND_MONSTAR_CAST_SPELL = 0x000002EA ,
SOUND_LANTERN_GHOST_LIGHT = 0x000002EB ,
SOUND_POKEY_STEP = 0x000002EC ,
SOUND_POKEY_SMASH = 0x000002ED ,
SOUND_POKEY_REACH_DOWN = 0x000002EE ,
2023-08-21 20:07:08 +02:00
SOUND_ACTOR_HOP = 0x000002EF ,
SOUND_MAGIKOOPA_ELECTRIFY = 0x000002F0 ,
SOUND_SNAP_AWAKE_A = 0x000002F1 ,
SOUND_SNAP_AWAKE_B = 0x000002F2 ,
SOUND_BUBBLE_BURST = 0x000002F3 ,
SOUND_AI_ALERT_A = 0x000002F4 ,
SOUND_AI_ALERT_B = 0x000002F5 ,
2023-08-05 07:24:23 +02:00
SOUND_TWEESTER_LAUNCH = 0x000002F6 ,
2023-10-22 14:39:20 +02:00
SOUND_SENTINEL_PICKUP = 0x000002F7 ,
SOUND_GATHER_SMALL = 0x000002F8 ,
SOUND_TOSS = 0x000002F9 ,
SOUND_SPEAR_GUY_DANCE_1 = 0x000002FA ,
SOUND_SPEAR_GUY_DANCE_2 = 0x000002FB ,
SOUND_SPEAR_GUY_RIP_SKIRT = 0x000002FC ,
SOUND_ALBINO_DINO_STEP_B = 0x000002FD ,
2023-08-05 07:24:23 +02:00
SOUND_CLOSE_SHELL = 0x000002FF ,
2023-10-22 14:39:20 +02:00
SOUND_JR_TROOPA_NEW_POWER = 0x00000300 ,
2023-08-21 20:07:08 +02:00
SOUND_FALL_QUICK = 0x00000301 ,
SOUND_FALL_LONG = 0x00000302 ,
SOUND_LARGE_FALL_QUICK = 0x00000303 ,
SOUND_LARGE_FALL_LONG = 0x00000304 , // unused
2023-10-22 14:39:20 +02:00
SOUND_LONG_FLUTTER_FALL_A = 0x00000305 ,
SOUND_LONG_FLUTTER_FALL_B = 0x00000306 ,
SOUND_SPEAR_STAB = 0x00000309 ,
SOUND_SPEAR_THROW = 0x0000030A , // #whoosh
SOUND_ALBINO_DINO_STEP_A = 0x0000030B ,
2023-08-05 07:24:23 +02:00
SOUND_SHY_GUY_SCREAMS1 = 0x0000030C ,
SOUND_SHY_GUY_SCREAMS2 = 0x0000030D ,
SOUND_SHY_GUY_SCREAMS3 = 0x0000030E ,
SOUND_TOY_TANK_MOVE1 = 0x0000030F ,
SOUND_TOY_TANK_MOVE2 = 0x00000310 ,
2023-10-14 21:43:12 +02:00
SOUND_AIM_SHELL_SHOT = 0x00000311 , // #looping
SOUND_AIM_SPINY_FLIP = 0x00000312 , // #looping
2023-08-21 20:07:08 +02:00
SOUND_TUBBA_GULP = 0x00000315 ,
SOUND_FIRE_BAR_0_B = 0x00000316 ,
SOUND_FIRE_BAR_1_B = 0x00000317 ,
SOUND_FIRE_BAR_2_B = 0x00000318 ,
SOUND_FIRE_BAR_3_B = 0x00000319 ,
SOUND_FIRE_BAR_4_B = 0x0000031A ,
SOUND_FIRE_BAR_5_B = 0x0000031B ,
SOUND_FIRE_BAR_6_B = 0x0000031C ,
SOUND_FIRE_BAR_7_B = 0x0000031D ,
SOUND_FIRE_BAR_8_B = 0x0000031E ,
SOUND_FIRE_BAR_9_B = 0x0000031F ,
2023-08-05 07:24:23 +02:00
SOUND_BURROW_SURFACE = 0x00000321 ,
SOUND_BURROW_DIG = 0x00000322 ,
SOUND_MOLE_POP = 0x00000323 ,
2023-10-22 14:39:20 +02:00
SOUND_MALLET_SWING = 0x00000327 ,
SOUND_BLASTER_FIRE = 0x00000328 ,
SOUND_CREEPY_LAUGH = 0x00000329 , // #unused
SOUND_SKID = 0x0000032B ,
SOUND_NPC_JUMP = 0x0000032C ,
SOUND_LOWER_NPC_JUMP = 0x0000032D ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_SENTINEL_ALARM = 0x0000032E ,
SOUND_SNORE_INHALE_A = 0x0000032F ,
SOUND_SNORE_INHALE_B = 0x00000330 ,
SOUND_FUZZY_HOP_A = 0x00000331 ,
SOUND_FUZZY_HOP_B = 0x00000332 ,
SOUND_FUZZY_HOP_C = 0x00000333 ,
SOUND_SNORE_EXHALE_A = 0x00000334 ,
SOUND_SNORE_EXHALE_B = 0x00000335 ,
SOUND_FIRE_BAR_0_A = 0x00000336 ,
SOUND_FIRE_BAR_1_A = 0x00000337 ,
SOUND_FIRE_BAR_2_A = 0x00000338 ,
SOUND_FIRE_BAR_3_A = 0x00000339 ,
SOUND_FIRE_BAR_4_A = 0x0000033A ,
SOUND_FIRE_BAR_5_A = 0x0000033B ,
SOUND_FIRE_BAR_6_A = 0x0000033C ,
SOUND_FIRE_BAR_7_A = 0x0000033D ,
SOUND_FIRE_BAR_8_A = 0x0000033E ,
SOUND_FIRE_BAR_9_A = 0x0000033F ,
SOUND_FIRE_BAR_DEAD = 0x00000340 ,
2024-10-23 07:44:44 +02:00
SOUND_LRAW_CHARGE_METER = 0x00000341 ,
2023-08-12 23:08:33 +02:00
SOUND_POKEY_SWAY = 0x00000342 , // same as SOUND_POKEY_LEAN_BACK?
2023-08-05 07:24:23 +02:00
SOUND_POKEY_WALK = 0x00000343 ,
2023-08-12 23:08:33 +02:00
SOUND_POKEY_LEAN_FORWARD = 0x00000344 ,
SOUND_POKEY_LEAN_BACK = 0x00000345 ,
2023-08-05 07:24:23 +02:00
SOUND_POKEY_EMERGE_FROM_GROUND = 0x00000346 ,
SOUND_LRAW_CHEERING = 0x00000349 ,
2023-10-22 14:39:20 +02:00
SOUND_SHORT_CLAP = 0x0000034A ,
SOUND_MULTI_CLAP = 0x0000034B , // #unused
SOUND_TOY_TANK_EXPLODE = 0x0000034E , // #explosion
SOUND_SLOT_REELS = 0x00000350 , // #unused
2023-08-05 07:24:23 +02:00
SOUND_ACTOR_FLIGHT = 0x00000351 ,
2023-10-22 14:39:20 +02:00
SOUND_KOOPA_BROS_SPINUP = 0x00000353 ,
SOUND_KOOPA_BROS_TOWER_SPIN_1 = 0x00000354 ,
SOUND_KOOPA_BROS_TOWER_SPIN_2 = 0x00000355 ,
SOUND_KOOPA_BROS_TOWER_SPIN_3 = 0x00000356 ,
SOUND_BZZAP_BUZZ = 0x00000357 , // #looping
SOUND_MINI_BZZAP_BUZZ = 0x00000358 ,
2023-10-14 21:43:12 +02:00
SOUND_EMBER_FLY = 0x00000359 , // #looping
2023-10-22 14:39:20 +02:00
SOUND_HUFF_N_PUFF_FIRE_LIGHTNING = 0x0000035B , // #electric #boom #echoing
SOUND_CHARGE_LIGHTNING = 0x0000035C , // #electric #ascending
SOUND_HEAVY_WIND_LOOP = 0x0000035D , // #looping #windy
SOUND_HEAVY_NPC_SWIPE = 0x0000035E ,
SOUND_BABY_BLOOPER_MOVE = 0x0000035F ,
SOUND_PUT_ON_CAP = 0x00000361 ,
SOUND_BECOME_STONE = 0x00000362 ,
SOUND_WINTERY_JINGLE = 0x00000363 ,
SOUND_SHEEP_STAMPEDE = 0x00000364 ,
SOUND_THUNDER_BOLT = 0x00000365 ,
2023-08-21 20:07:08 +02:00
SOUND_LIGHTNING_STRIKE = 0x00000366 ,
2023-10-22 14:39:20 +02:00
SOUND_FRIGHT_JAR = 0x00000367 ,
SOUND_MYSTERY_REEL = 0x00000368 ,
SOUND_HUSTLE_WHISTLE = 0x00000369 ,
SOUND_SMALL_GLASS_BREAK = 0x00000369 , // #unused
SOUND_CRYSTAL_KING_DISAPPEAR = 0x0000036B ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_SHY_GUY_CROWD_1 = 0x0000036C ,
SOUND_LRAW_SHY_GUY_CROWD_2 = 0x0000036D ,
2023-10-22 14:39:20 +02:00
SOUND_MONSTAR_STAR_STORM = 0x0000036E ,
SOUND_TOY_TANK_FALL_APART = 0x0000036F ,
SOUND_KENT_C_SHELL_TOSS_LOOP = 0x00000370 , // #looping
SOUND_PLAYER_SPINNING = 0x00000371 ,
SOUND_LIFE_SHROOM_CHIME = 0x00000372 ,
SOUND_REVIVAL_MAGIC = 0x00000373 , // #magic #chimes
SOUND_PLAYER_REVIVE = 0x00000374 ,
SOUND_REPEL_GEL_APPLY = 0x00000375 ,
SOUND_REPEL_GEL_VANISH = 0x00000376 ,
SOUND_PLANT_FIRE_FLOWER = 0x00000377 ,
SOUND_RECOVERY_SHMMER = 0x00000378 ,
SOUND_VOLT_SHROOM_APPLY = 0x00000379 ,
2023-08-05 07:24:23 +02:00
SOUND_HIT_PLAYER_SHOCK = 0x0000037A ,
SOUND_HIT_SHOCK = 0x0000037B ,
2023-10-22 14:39:20 +02:00
SOUND_KOOPA_LAUNCH_SHELL = 0x0000037C ,
SOUND_LANTERN_GHOST_STEP = 0x0000037D ,
SOUND_TOY_TANK_STEP = 0x0000037E ,
SOUND_SHY_GUY_FLY = 0x00000380 ,
SOUND_GOURMET_GUY_SHOCK_1 = 0x00000381 ,
SOUND_GOURMET_GUY_SHOCK_2 = 0x00000382 ,
SOUND_GOURMET_GUY_SHOCK_3 = 0x00000383 ,
SOUND_GOURMET_GUY_RUN = 0x00000384 ,
SOUND_GOURMET_GUY_LAUNCH = 0x00000385 ,
SOUND_BIG_DRUM_A = 0x00000386 ,
SOUND_BIG_DRUM_B = 0x00000387 ,
2023-08-21 20:07:08 +02:00
SOUND_LRAW_OMO_SLOT_MACHINE = 0x00000388 ,
2023-10-22 14:39:20 +02:00
SOUND_SAM_POND_CRACK_1 = 0x00000389 ,
SOUND_SAM_POND_CRACK_2 = 0x0000038A ,
SOUND_SAM_POND_SHATTER = 0x0000038B ,
SOUND_SAM_SNOWMAN_JUMP = 0x0000038C ,
SOUND_SAM_SNOWMEN_RAISE_WALL = 0x0000038D ,
SOUND_SAM_SNOWMEN_OPEN_PASSAGE = 0x0000038E ,
SOUND_TOSS_PLAYER = 0x00000390 ,
SOUND_LRAW_SPINNING_FLOWER = 0x00000391 ,
SOUND_MUNCHLESIA_CHEW = 0x00000392 ,
2023-08-21 20:07:08 +02:00
SOUND_MUNCHLESIA_SPIT = 0x00000393 ,
2023-10-14 21:43:12 +02:00
SOUND_OVEN_TIMER_TICKING = 0x00000394 , // #looping
2023-08-05 07:24:23 +02:00
SOUND_GENERAL_WHISTLE = 0x00000395 ,
2023-10-22 14:39:20 +02:00
SOUND_ICE_SHATTER = 0x00000396 ,
SOUND_PENGUIN_WHISTLE = 0x00000397 , // identical to SOUND_GENERAL_WHISTLE
SOUND_DRAG_PLAYER = 0x00000398 , // #looping #windy #scraping
SOUND_SAM07_RAISE_FLOOR = 0x00000399 , // #ascending
SOUND_SAM07_LOWER_FLOOR = 0x0000039A , // #descending
SOUND_SAM08_RAISE_FLOOR = 0x0000039B , // #ascending
2023-08-21 20:07:08 +02:00
SOUND_SAM_STAIRS_ACTIVATE = 0x0000039C ,
SOUND_SAM_STAIRS_LOUD_THUD = 0x0000039D ,
SOUND_LRAW_SAM_STAIRS_RISE = 0x0000039E ,
SOUND_SAM_STAIRS_FINAL_THUD = 0x0000039F ,
SOUND_MIM_MUSHROOM_GLOW = 0x000003A0 ,
2023-10-14 21:43:12 +02:00
SOUND_UNUSED_TAPPING_LOOP = 0x000003A1 , // #looping
SOUND_SHY_GUY_FLEE_LOOP = 0x000003A2 , // #looping
2023-08-21 20:07:08 +02:00
SOUND_LANTERN_GHOST_REVEAL_MORE_1 = 0x000003A3 ,
SOUND_LANTERN_GHOST_REVEAL_MORE_2 = 0x000003A4 ,
SOUND_LANTERN_GHOST_REVEAL_MORE_3 = 0x000003A5 ,
SOUND_LANTERN_GHOST_REVEAL_MORE_4 = 0x000003A6 ,
SOUND_LANTERN_GHOST_DARKEN_1 = 0x000003A7 ,
SOUND_LANTERN_GHOST_DARKEN_2 = 0x000003A8 ,
SOUND_LANTERN_GHOST_DARKEN_3 = 0x000003A9 ,
SOUND_LANTERN_GHOST_DARKEN_4 = 0x000003AA ,
SOUND_PIRANHA_BREATH = 0x000003AB ,
SOUND_GOOMBA_BROS_STEP = 0x000003AC ,
2023-10-22 14:39:20 +02:00
SOUND_LRAW_FIGHTING = 0x000003AD ,
SOUND_TANK_BULB_SHATTER = 0x000003AE ,
SOUND_CRYSTAL_KING_INHALE = 0x000003AF ,
SOUND_HUFF_N_PUFF_INHALE = 0x000003B0 , // #looping
SOUND_PIRANHA_SPIN = 0x000003B1 ,
SOUND_PIRANHA_CHOMP = 0x000003B2 ,
SOUND_HUFF_N_PUFF_REAR_UP = 0x000003B3 ,
2023-08-05 07:24:23 +02:00
SOUND_ACTOR_STEP_B = 0x000003B4 ,
SOUND_FAKE_BOWSER_BLAST = 0x000003B5 , // large blasting sound when the fake bowser robot is destroyed
2023-08-21 20:07:08 +02:00
SOUND_SHY_GUY_STEP_A = 0x000003B6 ,
SOUND_SHY_GUY_STEP_B = 0x000003B7 ,
2023-10-22 14:39:20 +02:00
SOUND_MASTER_LEAP = 0x000003B9 ,
SOUND_BUBBLE_DOWN = 0x000003BA , // #unused #descending
SOUND_LAVA_PIRANHA_RECOVER = 0x000003BB ,
SOUND_LRAW_RUMBLE = 0x000003BC ,
SOUND_BOWSER_FIRE_BREATH_LOOP = 0x000003BD , // #looping #wind #rumble
SOUND_FAKE_BOWSER_LONG_WALK = 0x000003BE , // #rattle
SOUND_HUFF_N_PUFF_EMERGE = 0x000003C0 ,
SOUND_LAVA_PIRANHA_INHALE = 0x000003C1 ,
SOUND_LAVA_PIRANHA_SHRIVEL = 0x000003C2 , // #unused
SOUND_LAVA_PIRANHA_SPIT_FIRE = 0x000003C3 ,
SOUND_LAVA_PIRANHA_FIRE_BREATH = 0x000003C4 ,
SOUND_LAVA_PIRANHA_EMERGE = 0x000003C5 ,
SOUND_LAVA_PIRANHA_DEFEAT = 0x000003C6 ,
SOUND_LAVA_BUD_WITHER = 0x000003C7 ,
SOUND_LAVA_PIRANHA_WITHER = 0x000003C8 ,
SOUND_LAVA_BUD_SPIT_PETIT = 0x000003C9 ,
SOUND_PETIT_PIRANHA_ASCEND = 0x000003CA ,
SOUND_PETIT_PIRANHA_DIVE = 0x000003CB ,
SOUND_LAVA_PIRANHA_WRITHE = 0x000003CC ,
SOUND_LAVA_PIRANHA_COLLAPSE = 0x000003CD ,
SOUND_PIRANHA_STEP = 0x000003CE ,
2023-08-21 20:07:08 +02:00
SOUND_LANTERN_GHOST_INHALE = 0x000003CF ,
SOUND_LANTERN_GHOST_BLOW = 0x000003D0 ,
SOUND_HUFF_N_PUFF_FLY = 0x000003D1 ,
SOUND_ELECTRIC_BUZZ = 0x000003D2 ,
SOUND_HUFF_N_PUFF_LIGHTNING_BLAST = 0x000003D3 ,
2023-08-05 07:24:23 +02:00
SOUND_OPEN_SHELL = 0x000003D4 ,
2023-08-31 20:51:10 +02:00
SOUND_RUFF_PUFF_FLY_A = 0x000003D5 ,
SOUND_RUFF_PUFF_FLY_B = 0x000003D6 ,
2023-10-22 14:39:20 +02:00
SOUND_LIGHT_THROW = 0x000003D9 ,
2023-08-31 20:51:10 +02:00
SOUND_SQUEEZE = 0x000003DB ,
2023-10-22 14:39:20 +02:00
SOUND_BLOOPER_MOVE = 0x000003DC ,
SOUND_BLOOPER_FALL = 0x000003DD ,
SOUND_BLOOPER_SQUIRT = 0x000003DE ,
SOUND_LEECH = 0x000003E0 ,
SOUND_AI_FOUND_PLAYER_JUMP = 0x000003E1 ,
2023-08-05 07:24:23 +02:00
SOUND_ACTOR_JUMP = 0x000003E2 ,
SOUND_ACTOR_TRIP = 0x000003E3 ,
SOUND_ACTOR_TWITCH = 0x000003E4 ,
SOUND_ACTOR_DEATH = 0x000003E5 ,
SOUND_BIG_POWER_UP = 0x000003E6 ,
SOUND_LARGE_ACTOR_JUMP = 0x000003E7 ,
SOUND_MOLE_THROW = 0x000003E8 ,
2023-10-22 14:39:20 +02:00
SOUND_KOOPA_BROS_LAND = 0x000003E9 ,
SOUND_FAKE_BOWSER_STEP = 0x000003EA ,
SOUND_SMALL_CROWD_WALK = 0x000003EB ,
SOUND_LARGE_CROWD_WALK = 0x000003EC ,
SOUND_MASTER_SMACK = 0x000003ED , // #electric #impact
SOUND_MASTER_PUNCH = 0x000003EE ,
SOUND_BOWSER_CHARGE_LIGHTNING = 0x000003EF ,
2023-08-05 07:24:23 +02:00
SOUND_DANGER = 0x000003F1 ,
SOUND_PERIL = 0x000003F2 ,
2023-08-21 20:07:08 +02:00
SOUND_DING = 0x000003F3 ,
SOUND_LULLABY = 0x000003F4 ,
SOUND_BUBBLES_RISING = 0x000003F5 , // unused
SOUND_DRIP = 0x000003F6 ,
STONE_STONE_CHOMP_STEP = 0x000003F9 ,
2023-08-05 07:24:23 +02:00
SOUND_THROW = 0x000003FA ,
2023-10-22 14:39:20 +02:00
SOUND_PLAYER_COLLAPSE = 0x000003FB ,
SOUND_LUCKY = 0x000003FC ,
2023-11-10 06:19:40 +01:00
SOUND_GOOMBARIO_GATHERING = SOUND_ID_UNK | 0x00000003 ,
SOUND_PARAKARRY_PREDIVE = SOUND_ID_UNK | 0x00000004 ,
SOUND_PARAKARRY_DIVE = SOUND_ID_UNK | 0x00000005 ,
SOUND_PARAKARRY_SHELL_SHOT = SOUND_ID_UNK | 0x00000006 ,
SOUND_PARAKARRY_FLAP = SOUND_ID_UNK | 0x00000009 ,
SOUND_PARAKARRY_AIR_RAID_1 = SOUND_ID_UNK | 0x0000000A , // #whoosh
SOUND_PARAKARRY_AIR_RAID_2 = SOUND_ID_UNK | 0x0000000B , // #whoosh #echoing
SOUND_KOOPER_SHELL_SPINUP = SOUND_ID_UNK | 0x0000000C ,
SOUND_GOOMBARIO_JUMP = SOUND_ID_UNK | 0x0000000D ,
SOUND_BOW_VANISH = SOUND_ID_UNK | 0x0000000E ,
SOUND_BOW_APPEAR = SOUND_ID_UNK | 0x0000000F ,
SOUND_EGG_MISSILE_BLAST = SOUND_ID_UNK | 0x00000010 ,
SOUND_WATT_REPEL_DARKNESS = SOUND_ID_UNK | 0x00000011 ,
SOUND_WATT_RESUME_DARKNESS = SOUND_ID_UNK | 0x00000012 ,
SOUND_SUSHIE_EMBARK = SOUND_ID_UNK | 0x00000013 ,
SOUND_SUSHIE_RIDE_IDLE = SOUND_ID_UNK | 0x00000014 ,
SOUND_SUSHIE_RIDE_MOVING = SOUND_ID_UNK | 0x00000015 ,
SOUND_BOMBETTE_BLAST_LV1 = SOUND_ID_UNK | 0x00000016 ,
SOUND_BOMBETTE_BLAST_LV2 = SOUND_ID_UNK | 0x00000017 ,
SOUND_BOMBETTE_BLAST_LV3 = SOUND_ID_UNK | 0x00000018 ,
SOUND_BOW_SMACK = SOUND_ID_UNK | 0x00000019 ,
SOUND_BOW_FAN_SMACK = SOUND_ID_UNK | 0x0000001A ,
SOUND_LAKILESTER_THROW_SPINY_A = SOUND_ID_UNK | 0x0000001B ,
SOUND_LAKILESTER_THROW_SPINY_B = SOUND_ID_UNK | 0x0000001C ,
SOUND_LAKILESTER_MAKE_CLOUD_NINE = SOUND_ID_UNK | 0x0000001D ,
SOUND_LAKILESTER_HURRICANE_INHALE = SOUND_ID_UNK | 0x0000001E ,
SOUND_LAKILESTER_HURRICANE_EXHALE = SOUND_ID_UNK | 0x0000001F ,
SOUND_BOMBETTE_BODY_SLAM = SOUND_ID_UNK | 0x00000020 ,
SOUND_SHELL_SPIN = SOUND_ID_UNK | 0x00000021 ,
SOUND_FAN_SMACK_HIT = SOUND_ID_UNK | 0x00000022 , // #windy
SOUND_FAN_SMACK_END = SOUND_ID_UNK | 0x00000023 , // #windy
SOUND_WATT_MEGA_CHARGE_WAVE = SOUND_ID_UNK | 0x00000024 ,
SOUND_DIZZY_SHELL = SOUND_ID_UNK | 0x00000026 ,
SOUND_SHUFFLE_CARD_A = SOUND_ID_UNK | 0x0000002A ,
SOUND_SHUFFLE_CARD_B = SOUND_ID_UNK | 0x0000002B ,
SOUND_FIRE_FLOWER_A = SOUND_ID_UNK | 0x0000002C ,
SOUND_FIRE_FLOWER_B = SOUND_ID_UNK | 0x0000002D ,
SOUND_SNOWMAN_DOLL_JUMP = SOUND_ID_UNK | 0x0000002E ,
SOUND_NOISE_RUSH = SOUND_ID_UNK | 0x0000002F , // unused
SOUND_POW_BLOCK = SOUND_ID_UNK | 0x00000030 ,
SOUND_INFLICT_SLEEP = SOUND_ID_UNK | 0x00000031 ,
SOUND_INFLICT_STATUS = SOUND_ID_UNK | 0x00000032 ,
SOUND_DIZZY_DIAL = SOUND_ID_UNK | 0x00000033 ,
SOUND_SUSHIE_BELLY_FLOP = SOUND_ID_UNK | 0x00000034 ,
SOUND_CREATE_WATER_BLOCK = SOUND_ID_UNK | 0x00000035 ,
SOUND_WHALE_OPEN_MOUTH = SOUND_ID_UNK | 0x00000036 ,
SOUND_WHALE_CLOSE_MOUTH = SOUND_ID_UNK | 0x00000037 ,
SOUND_TUBBA_SNORE_INHALE = SOUND_ID_UNK | 0x00000038 ,
SOUND_TUBBA_SNORE_EXHALE = SOUND_ID_UNK | 0x00000039 ,
SOUND_KPA_BRIDGE_COLLAPSE_A = SOUND_ID_UNK | 0x0000003A ,
SOUND_KPA_BRIDGE_COLLAPSE_B = SOUND_ID_UNK | 0x0000003B ,
SOUND_KPA_ARENA_EXPLODING = SOUND_ID_UNK | 0x0000003C ,
SOUND_OBK_STAIRS_DROP = SOUND_ID_UNK | 0x0000003D ,
SOUND_SHY_GUY_OUCH = SOUND_ID_UNK | 0x0000003E ,
SOUND_SHY_GUY_RUN_AWAY = SOUND_ID_UNK | 0x0000003F ,
SOUND_KPA_FLIP_BRIDGE_PANEL = SOUND_ID_UNK | 0x00000040 ,
SOUND_STAR_SPIRIT_APPEAR_A = SOUND_ID_UNK | 0x00000041 ,
SOUND_STAR_SPIRIT_APPEAR_B = SOUND_ID_UNK | 0x00000042 ,
SOUND_STAR_SPIRIT_CAST_A = SOUND_ID_UNK | 0x00000043 ,
SOUND_STAR_SPIRIT_CAST_B = SOUND_ID_UNK | 0x00000044 ,
SOUND_STAR_SPIRIT_DEPART_1 = SOUND_ID_UNK | 0x00000045 ,
SOUND_STAR_SPIRIT_DEPART_2 = SOUND_ID_UNK | 0x00000046 ,
SOUND_STAR_SPIRIT_DEPART_3 = SOUND_ID_UNK | 0x00000047 ,
SOUND_DARK_TOAD_DISPEL = SOUND_ID_UNK | 0x00000049 ,
SOUND_OPEN_MAGIC_CHEST = SOUND_ID_UNK | 0x0000004A ,
SOUND_CLOSE_MAGIC_CHEST = SOUND_ID_UNK | 0x0000004B ,
SOUND_QUICK_HINGE = SOUND_ID_UNK | 0x0000004C , // unused
SOUND_FLO_MOVE_PILLAR = SOUND_ID_UNK | 0x0000004D ,
SOUND_WISH_ASCENDING = SOUND_ID_UNK | 0x00000051 ,
SOUND_UP_AND_AWAY_SEND_AWAY = SOUND_ID_UNK | 0x00000052 ,
SOUND_STAR_POWER_RECOVERY = SOUND_ID_UNK | 0x00000053 ,
SOUND_START_RECOVERY = SOUND_ID_UNK | 0x00000055 ,
SOUND_RECOVER = SOUND_ID_UNK | 0x00000056 ,
SOUND_FLOWERS_LIGHT_GIGGLE = SOUND_ID_UNK | 0x00000059 ,
SOUND_FLOWERS_SAD_GIGGLE = SOUND_ID_UNK | 0x0000005A ,
SOUND_FLOWERS_LAUGH = SOUND_ID_UNK | 0x0000005B ,
SOUND_FLOWERS_WITHER = SOUND_ID_UNK | 0x0000005C ,
SOUND_FLOWERS_GROW = SOUND_ID_UNK | 0x0000005D ,
SOUND_ROCK_LAUGHTER = SOUND_ID_UNK | 0x0000005E ,
SOUND_TREE_LAUGHTER = SOUND_ID_UNK | 0x0000005F ,
SOUND_IMPISH_LAUGH = SOUND_ID_UNK | 0x00000060 ,
SOUND_CHAIN_CHOMP_BITE = SOUND_ID_UNK | 0x00000061 ,
SOUND_CHAIN_CHOMP_THUD = SOUND_ID_UNK | 0x00000062 ,
SOUND_CHAIN_RATTLE = SOUND_ID_UNK | 0x00000063 ,
SOUND_SHY_STACK_SQUISH = SOUND_ID_UNK | 0x00000064 ,
SOUND_STILT_GUY_UNFOLD = SOUND_ID_UNK | 0x00000065 ,
SOUND_STILT_GUY_STEP = SOUND_ID_UNK | 0x00000066 ,
SOUND_STILTS_FALL = SOUND_ID_UNK | 0x00000067 , // #woody
SOUND_TANK_BULB_FIRE = SOUND_ID_UNK | 0x00000069 , // #electric
SOUND_TOY_TANK_OPEN_HATCH = SOUND_ID_UNK | 0x0000006A ,
SOUND_TOY_TANK_CLOSE_HATCH = SOUND_ID_UNK | 0x0000006B ,
SOUND_WOODEN_BLOCK = SOUND_ID_UNK | 0x0000006C , // #unused
SOUND_RECOVER_HEART = SOUND_ID_UNK | 0x0000006D , // #magic
SOUND_FUZZY_RUMBLE = SOUND_ID_UNK | 0x0000006E ,
SOUND_FUZZY_SHAKE = SOUND_ID_UNK | 0x0000006F ,
SOUND_FUZZY_DIVIDE = SOUND_ID_UNK | 0x00000070 ,
SOUND_UP_AND_AWAY_CAPTURE = SOUND_ID_UNK | 0x00000071 ,
SOUND_YOSHI = SOUND_ID_UNK | 0x00000072 ,
SOUND_HIT_WHACKA = SOUND_ID_UNK | 0x00000073 ,
SOUND_MAGIC_ASCENDING = SOUND_ID_UNK | 0x00000074 , // #magic #ascending
SOUND_MAGIC_DESCENDING = SOUND_ID_UNK | 0x00000075 , // #magic #descending
SOUND_BOMB_BLAST = SOUND_ID_UNK | 0x00000076 ,
SOUND_BULLET_BILL_EXPLODE_A = SOUND_ID_UNK | 0x00000078 ,
SOUND_BULLET_BILL_EXPLODE_B = SOUND_ID_UNK | 0x00000079 ,
SOUND_KAMMY_SUMMON_MAGIC = SOUND_ID_UNK | 0x0000007A ,
SOUND_KAMMY_SUMMON_BLOCK = SOUND_ID_UNK | 0x0000007B ,
SOUND_KAMMY_RAISE_OBJECT = SOUND_ID_UNK | 0x0000007C ,
SOUND_KAMMY_LOWER_OBJECT = SOUND_ID_UNK | 0x0000007D ,
SOUND_TWINK_ATTACK = SOUND_ID_UNK | 0x0000007E ,
SOUND_TWINK_FLY_A = SOUND_ID_UNK | 0x0000007F ,
SOUND_QUICK_PLAYER_JUMP = SOUND_ID_UNK | 0x00000081 ,
SOUND_JUMP_8BIT_MARIO = SOUND_ID_UNK | 0x00000082 ,
SOUND_STAR_BOX_LAUNCHER = SOUND_ID_UNK | 0x00000085 ,
SOUND_SPRING = SOUND_ID_UNK | 0x00000086 ,
SOUND_ZIPLINE_FINISH = SOUND_ID_UNK | 0x00000087 ,
SOUND_PUSH_BLOCK = SOUND_ID_UNK | 0x00000088 ,
SOUND_PULL_VINE = SOUND_ID_UNK | 0x00000089 ,
SOUND_FLOOR_SWITCH_DEPRESS = SOUND_ID_UNK | 0x0000008A ,
SOUND_FLOOR_SWITCH_ACTIVATE = SOUND_ID_UNK | 0x0000008B ,
SOUND_NO_DAMGE = SOUND_ID_UNK | 0x0000008C ,
SOUND_USE_ITEM = SOUND_ID_UNK | 0x0000008D ,
SOUND_GROW = SOUND_ID_UNK | 0x0000008E ,
SOUND_CHARGE_UP = SOUND_ID_UNK | 0x0000008F ,
SOUND_OPEN_TRAPDOOR = SOUND_ID_UNK | 0x00000091 ,
SOUND_BREAK_FLOOR = SOUND_ID_UNK | 0x00000092 ,
SOUND_SPIKES_EXTEND = SOUND_ID_UNK | 0x00000093 ,
SOUND_JUMP_SCARE = SOUND_ID_UNK | 0x00000094 ,
SOUND_EAT_OR_DRINK = SOUND_ID_UNK | 0x00000095 ,
SOUND_SPIT_OUT = SOUND_ID_UNK | 0x00000096 ,
SOUND_GLASS_SHATTER = SOUND_ID_UNK | 0x00000097 ,
SOUND_VANISH_IN_SMOKE = SOUND_ID_UNK | 0x00000098 ,
SOUND_HEART_PLANT = SOUND_ID_UNK | 0x00000099 ,
SOUND_HURT_PLANT_SHRIEK = SOUND_ID_UNK | 0x0000009A ,
SOUND_MUNCHLESIA_SUCTION = SOUND_ID_UNK | 0x0000009B ,
SOUND_JAN_LOG_LAND = SOUND_ID_UNK | 0x0000009D ,
SOUND_JAN_LOG_SPLIT = SOUND_ID_UNK | 0x0000009E ,
SOUND_SEPARATE_BUSHES = SOUND_ID_UNK | 0x0000009F ,
SOUND_LARGE_NPC_IMPACT = SOUND_ID_UNK | 0x000000A0 ,
SOUND_STARSHIP_BOOST = SOUND_ID_UNK | 0x000000A1 ,
SOUND_IWA_SLIDE_GATE = SOUND_ID_UNK | 0x000000A2 ,
SOUND_CREAKY_WINDOW_OPEN = SOUND_ID_UNK | 0x000000A3 ,
SOUND_CREAKY_WINDOW_CLOSE = SOUND_ID_UNK | 0x000000A4 ,
SOUND_TRAIN_DOOR_OPEN = SOUND_ID_UNK | 0x000000A5 ,
SOUND_TRAIN_DOOR_CLOSE = SOUND_ID_UNK | 0x000000A6 ,
SOUND_TURN_MECHANISM = SOUND_ID_UNK | 0x000000A7 ,
SOUND_CAPSULE_OPEN = SOUND_ID_UNK | 0x000000A8 ,
SOUND_FLIP_PANEL = SOUND_ID_UNK | 0x000000AB ,
SOUND_CLOSE_PANEL = SOUND_ID_UNK | 0x000000AC ,
SOUND_WATER_SPLASH = SOUND_ID_UNK | 0x000000AD ,
SOUND_BREAK_CRATE = SOUND_ID_UNK | 0x000000AE , // #boing
SOUND_HOLLOW_RISING = SOUND_ID_UNK | 0x000000AF , // #unused
SOUND_HOLLOW_FALLING = SOUND_ID_UNK | 0x000000B0 , // #unused
SOUND_PIRANHA_SPIN_1 = SOUND_ID_UNK | 0x000000B1 ,
SOUND_PIRANHA_SPIN_2 = SOUND_ID_UNK | 0x000000B2 ,
SOUND_PIRANHA_TENSE = SOUND_ID_UNK | 0x000000B3 ,
SOUND_HEAVY_NPC_STEP_B = SOUND_ID_UNK | 0x000000B4 ,
SOUND_HUFF_N_PUFF_JIGGLE = SOUND_ID_UNK | 0x000000B6 ,
SOUND_HUFF_N_PUFF_WOBBLE = SOUND_ID_UNK | 0x000000B7 ,
SOUND_GHOST_TRANSFORM = SOUND_ID_UNK | 0x000000B8 ,
SOUND_JR_TROOPA_TRANSFORM = SOUND_ID_UNK | 0x000000B9 ,
SOUND_ACTOR_STEP_A = SOUND_ID_UNK | 0x000000BA ,
SOUND_MASTER_FLUTTER = SOUND_ID_UNK | 0x000000BB ,
SOUND_MASTER_KICK = SOUND_ID_UNK | 0x000000BC ,
SOUND_MASTER_STANCE_CHANGE = SOUND_ID_UNK | 0x000000BD ,
SOUND_MASTER_FLIP = SOUND_ID_UNK | 0x000000BE ,
SOUND_LAVA_BUD_RECOVER = SOUND_ID_UNK | 0x000000BF ,
SOUND_SMALL_NPC_STEP = SOUND_ID_UNK | 0x000000C1 ,
SOUND_BANDIT_STEAL = SOUND_ID_UNK | 0x000000C2 ,
SOUND_DISAPPOINTED = SOUND_ID_UNK | 0x000000C3 ,
SOUND_CLUBBA_STEP = SOUND_ID_UNK | 0x000000C4 ,
SOUND_CLUBBA_SWING = SOUND_ID_UNK | 0x000000C5 ,
SOUND_MBUSH_STEP = SOUND_ID_UNK | 0x000000C6 ,
SOUND_TUBBA_HEART_JUMP = SOUND_ID_UNK | 0x000000C8 ,
SOUND_MBUSH_LEAP = SOUND_ID_UNK | 0x000000C9 ,
SOUND_BZZAP_STING = SOUND_ID_UNK | 0x000000CA ,
SOUND_MINI_BZZAP_STING = SOUND_ID_UNK | 0x000000CB ,
SOUND_BZZAP_CALL_SWARM = SOUND_ID_UNK | 0x000000CC ,
SOUND_BONY_BEETLE_STEP = SOUND_ID_UNK | 0x000000CD ,
SOUND_BONY_BEETLE_EXTEND_SPIKES = SOUND_ID_UNK | 0x000000CE ,
SOUND_BONY_BEETLE_RETRACT_SPIKES = SOUND_ID_UNK | 0x000000CF ,
SOUND_CLEFT_STEP = SOUND_ID_UNK | 0x000000D0 ,
SOUND_CLEFT_TACKLE = SOUND_ID_UNK | 0x000000D1 ,
SOUND_LAKITU_THROW_SPINY = SOUND_ID_UNK | 0x000000D2 ,
SOUND_SHELL_TOSS = SOUND_ID_UNK | 0x000000D3 ,
SOUND_SPELL_CAST1 = SOUND_ID_UNK | 0x000000D4 ,
SOUND_SPELL_CAST2 = SOUND_ID_UNK | 0x000000D5 ,
SOUND_SPELL_CAST3 = SOUND_ID_UNK | 0x000000D6 ,
SOUND_SPELL_CAST4 = SOUND_ID_UNK | 0x000000D7 ,
SOUND_SPELL_CAST5 = SOUND_ID_UNK | 0x000000D8 , // unused
SOUND_FUZZIPEDE_MOTION = SOUND_ID_UNK | 0x000000D9 ,
SOUND_FUZZIPEDE_LEAP = SOUND_ID_UNK | 0x000000DA , // #boing #spring #bounce
SOUND_FUZZIPEDE_STRIKE = SOUND_ID_UNK | 0x000000DB , // #boing #spring
SOUND_COMMAND_LOSS = SOUND_ID_UNK | 0x000000DC ,
SOUND_GOOMBA_STEP = SOUND_ID_UNK | 0x000000DD ,
SOUND_PIRANHA_BITE = SOUND_ID_UNK | 0x000000DE ,
SOUND_PARAGOOMBA_FLY = SOUND_ID_UNK | 0x000000DF ,
SOUND_PARAGOOMBA_PREDIVE = SOUND_ID_UNK | 0x000000E0 ,
SOUND_TUTANKOOPA_MAGIC = SOUND_ID_UNK | 0x000000E1 ,
SOUND_JR_TOOPA_JUMP = SOUND_ID_UNK | 0x000000E2 ,
SOUND_ACTOR_WITHER = SOUND_ID_UNK | 0x000000E3 ,
SOUND_ACTOR_COLLAPSE = SOUND_ID_UNK | 0x000000E4 ,
SOUND_KNOCKOUT_CHIRPING = SOUND_ID_UNK | 0x000000E5 , // #bird #chirping
SOUND_TUTANKOOPA_LEVITATE = SOUND_ID_UNK | 0x000000E6 ,
SOUND_SPOOKY_LEVITATE = SOUND_ID_UNK | 0x000000E7 ,
SOUND_ILLUSION_DISSOLVE = SOUND_ID_UNK | 0x000000E8 ,
SOUND_HEAVY_NPC_FALLING = SOUND_ID_UNK | 0x000000E9 , // #falling
SOUND_HEAVY_NPC_LANDING = SOUND_ID_UNK | 0x000000EA , // #echoing #thud #impact
SOUND_TUTANKOOPA_DEBRIS_FALL = SOUND_ID_UNK | 0x000000EB , // #falling
SOUND_HEAVY_NPC_STEP_A = SOUND_ID_UNK | 0x000000EC ,
SOUND_GOOMBA_KING_SPIN = SOUND_ID_UNK | 0x000000ED ,
SOUND_GULPIT_LICK = SOUND_ID_UNK | 0x000000EE ,
SOUND_BUZZAR_FLAP = SOUND_ID_UNK | 0x000000EF ,
SOUND_BUZZAR_WHIRLWIND = SOUND_ID_UNK | 0x000000F0 , // #windy
SOUND_BUZZAR_WINDUP = SOUND_ID_UNK | 0x000000F1 ,
SOUND_BUZZAR_DIVE = SOUND_ID_UNK | 0x000000F2 ,
SOUND_SMALL_LENS_FLARE = SOUND_ID_UNK | 0x000000F3 ,
SOUND_BUZZAR_THROW = SOUND_ID_UNK | 0x000000F4 ,
SOUND_BUZZAR_GRAB = SOUND_ID_UNK | 0x000000F5 ,
SOUND_HEAVY_NPC_STEP_C = SOUND_ID_UNK | 0x000000F6 ,
SOUND_TUBBAS_HEART_CHARGE = SOUND_ID_UNK | 0x000000F7 ,
SOUND_TUBBAS_HEART_SWARM_ATTACK = SOUND_ID_UNK | 0x000000F9 ,
SOUND_TUBBAS_HEART_SWARM_DISPERSE = SOUND_ID_UNK | 0x000000FB ,
SOUND_TUBBAS_HEART_SWARM_VANISH = SOUND_ID_UNK | 0x000000FC ,
SOUND_FAKE_BOWSER_SWING = SOUND_ID_UNK | 0x000000FD ,
SOUND_FAKE_BOWSER_STRIKE = SOUND_ID_UNK | 0x000000FE ,
SOUND_FILE_MENU_MOVE_CURSOR = SOUND_ID_UNK | 0x00000101 ,
SOUND_CREATE_FILE_MOVE_CURSOR = SOUND_ID_UNK | 0x00000102 ,
SOUND_CREATE_FILE_SET_CHARACTER = SOUND_ID_UNK | 0x00000103 ,
SOUND_CREATE_FILE_BACKSPACE = SOUND_ID_UNK | 0x00000104 ,
SOUND_CREATE_FILE_CHANGE_CHARSET = SOUND_ID_UNK | 0x00000105 ,
SOUND_INFLICT_CHILL_OUT = SOUND_ID_UNK | 0x00000106 ,
SOUND_INFLICT_KO = SOUND_ID_UNK | 0x00000107 ,
SOUND_SPAWN_BLOCK = SOUND_ID_UNK | 0x00000108 ,
SOUND_D_DOWN_HIT_1 = SOUND_ID_UNK | 0x0000010A ,
SOUND_D_DOWN_HIT_2 = SOUND_ID_UNK | 0x0000010B ,
SOUND_D_DOWN_HIT_3 = SOUND_ID_UNK | 0x0000010C ,
SOUND_SPIN = SOUND_ID_UNK | 0x00000111 ,
SOUND_SPEEDY_SPIN = SOUND_ID_UNK | 0x00000112 ,
SOUND_SPIN_ATTACK = SOUND_ID_UNK | 0x00000113 ,
SOUND_SPEEDY_SPIN_ATTACK = SOUND_ID_UNK | 0x00000114 ,
SOUND_HAMMER_SWING_1 = SOUND_ID_UNK | 0x00000115 ,
SOUND_HAMMER_SWING_2 = SOUND_ID_UNK | 0x00000116 ,
SOUND_HAMMER_SWING_3 = SOUND_ID_UNK | 0x00000117 ,
SOUND_HAMMER_STRIKE_1 = SOUND_ID_UNK | 0x00000118 ,
SOUND_HAMMER_STRIKE_2 = SOUND_ID_UNK | 0x00000119 ,
SOUND_HAMMER_STRIKE_3 = SOUND_ID_UNK | 0x0000011A ,
SOUND_HAMMER_QUAKE_1 = SOUND_ID_UNK | 0x0000011B ,
SOUND_HAMMER_QUAKE_2 = SOUND_ID_UNK | 0x0000011C ,
SOUND_HAMMER_QUAKE_3 = SOUND_ID_UNK | 0x0000011D ,
SOUND_SPIN_SMASH_1 = SOUND_ID_UNK | 0x0000011E ,
SOUND_SPIN_SMASH_2 = SOUND_ID_UNK | 0x0000011F ,
SOUND_SPIN_SMASH_3 = SOUND_ID_UNK | 0x00000120 ,
SOUND_BOWSER_STAR_ROD_USE = SOUND_ID_UNK | 0x00000121 ,
SOUND_BOWSER_STAR_ROD_DRAIN_WAVE = SOUND_ID_UNK | 0x00000122 ,
SOUND_BOWSER_STAR_ROD_GATHER = SOUND_ID_UNK | 0x00000123 ,
SOUND_BOWSER_STAR_ROD_SHOCKWAVE = SOUND_ID_UNK | 0x00000124 ,
SOUND_BOWSER_STAR_ROD_ENCHANT = SOUND_ID_UNK | 0x00000125 ,
SOUND_BOWSER_CAST_RECOVER = SOUND_ID_UNK | 0x00000126 ,
SOUND_BOWSER_LIGHTNING = SOUND_ID_UNK | 0x00000127 ,
SOUND_BOWSER_POWER_DOWN = SOUND_ID_UNK | 0x00000128 ,
SOUND_BOWSER_COLLAPSE = SOUND_ID_UNK | 0x00000129 ,
SOUND_OBK_CHANDELIER_RELEASE = SOUND_ID_UNK | 0x0000012A ,
SOUND_OBK_CHANDELIER_STOP = SOUND_ID_UNK | 0x0000012B ,
SOUND_OBK_CHANDELIER_RETRACT = SOUND_ID_UNK | 0x0000012C ,
SOUND_RELEASE_ENERGY = SOUND_ID_UNK | 0x0000012D ,
SOUND_GATHER_ENERGY = SOUND_ID_UNK | 0x0000012E ,
2023-02-06 12:21:55 +01:00
// looping sounds
2023-08-21 20:07:08 +02:00
SOUND_LOOP_BOMBETTE_FUSE = 0x80000000 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_BOBOMB_FUSE = 0x80000001 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_ISK_FLIP_STAIRS = 0x80000002 ,
SOUND_LOOP_ISK_LOWER_STAIRS = 0x80000003 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_TRD_02_LOWER_STAIRS = 0x80000004 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_TRD_04_LOWER_STAIRS = 0x80000005 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_TRD_FLOWING_WATER = 0x80000006 ,
SOUND_LOOP_TRD_RAISE_STAIRS = 0x80000007 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_CHEERING = 0x80000008 ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_IWA10_FLOW1 = 0x80000009 ,
SOUND_LOOP_IWA_UNUSED_FLOW3 = 0x8000000A , // #unused
SOUND_LOOP_IWA00_FLOW3 = 0x8000000B ,
SOUND_LOOP_IWA00_FLOW2 = 0x8000000C ,
SOUND_LOOP_IWA01_FLOW1 = 0x8000000D ,
SOUND_LOOP_IWA01_FLOW2 = 0x8000000E ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_OBK_LOWER_CHAIN = 0x8000000F ,
SOUND_LOOP_MOVE_STATUE = 0x80000010 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_SENTINEL_ALARM = 0x80000011 ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_QUIZ_TICKING = 0x80000012 , // #unused
SOUND_LOOP_AUDIENCE_MURMUR = 0x80000013 , // #unused
SOUND_LOOP_TOYBOX_TRAIN_GEAR = 0x80000014 , // #unused
2023-08-21 20:07:08 +02:00
SOUND_LOOP_OMO_SLOT_MACHINE = 0x80000015 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_OMO_ROTATING_WHEEL = 0x80000016 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_JAN_BEACH_WAVES = 0x80000017 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_MOVE_LARGE_STATUE = 0x80000018 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_ZIPLINE_RIDE = 0x80000019 ,
SOUND_LOOP_ZIPLINE_RETURN = 0x8000001A ,
SOUND_LOOP_TROMP_ROLL = 0x8000001B ,
SOUND_LOOP_JAN_SMALL_GEYSER = 0x8000001C ,
SOUND_LOOP_JAN_LARGE_GEYSER = 0x8000001D ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_JAN_CONSTRUCTION = 0x8000001E ,
SOUND_LOOP_NOTHING_1F = 0x8000001F , // #unused #nodata
SOUND_LOOP_NOTHING_20 = 0x80000020 , // #unused #nodata
SOUND_LOOP_FLO_WATER_FLOW_1 = 0x80000021 ,
SOUND_LOOP_FLO_WATER_FLOW_2 = 0x80000022 ,
SOUND_LOOP_BUBBLE_DRIFT = 0x80000023 ,
SOUND_LOOP_FLO_RELEASE_FOUNTAIN = 0x80000024 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_PUFF_PUFF_MACHINE = 0x80000025 ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_NOTHING_26 = 0x80000026 , // #unused #nodata
SOUND_LOOP_TIK01_WATER = 0x80000027 ,
SOUND_LOOP_TIK02_WATER = 0x80000028 ,
SOUND_LOOP_TIK02_FLOW2 = 0x80000029 ,
SOUND_LOOP_TIK02_FLOW3 = 0x8000002A ,
SOUND_LOOP_TIK03_WATER = 0x8000002B ,
SOUND_LOOP_TIK03_FLOW1 = 0x8000002C ,
SOUND_LOOP_TIK05_WATER = 0x8000002D ,
SOUND_LOOP_TIK05_FLOW1 = 0x8000002E ,
SOUND_LOOP_TIK06_WATER = 0x8000002F ,
SOUND_LOOP_TIK06_FLOW2 = 0x80000030 ,
SOUND_LOOP_TIK06_FLOW3 = 0x80000031 ,
SOUND_LOOP_TIK06_FLOW4 = 0x80000032 ,
SOUND_LOOP_TIK08_WATER = 0x80000033 ,
SOUND_LOOP_TIK08_FLOW1 = 0x80000034 ,
SOUND_LOOP_TIK09_WATER = 0x80000035 ,
SOUND_LOOP_TIK09_FLOW2 = 0x80000036 ,
SOUND_LOOP_TIK09_FLOW4 = 0x80000037 ,
SOUND_LOOP_TIK09_FLOW3 = 0x80000038 ,
SOUND_LOOP_TIK10_WATER = 0x80000039 ,
SOUND_LOOP_TIK_UNUSED1_WATER = 0x8000003A , // #unused
SOUND_LOOP_TIK_UNUSED2_WATER = 0x8000003B , // #unused
SOUND_LOOP_TIK_UNUSED3_WATER = 0x8000003C , // #unused
SOUND_LOOP_TIK_UNUSED3_FLOW4 = 0x8000003D , // #unused
SOUND_LOOP_TIK_UNUSED3_FLOW3 = 0x8000003E , // #unused
SOUND_LOOP_TIK_UNUSED3_FLOW2 = 0x8000003F , // #unused
SOUND_LOOP_SAM_STAIRS_RISE = 0x80000040 ,
2024-10-23 07:44:44 +02:00
SOUND_LOOP_CHARGE_METER = 0x80000041 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_CRYSTAL_BALL_GLOW = 0x80000042 ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_TIK18_WATER = 0x80000043 ,
SOUND_LOOP_TIK19_WATER = 0x80000044 ,
SOUND_LOOP_TIK19_FLOW3 = 0x80000045 ,
SOUND_LOOP_TIK19_FLOW4 = 0x80000046 ,
SOUND_LOOP_TIK20_WATER = 0x80000047 ,
SOUND_LOOP_TIK23_WATER = 0x80000048 ,
SOUND_LOOP_TIK24_WATER = 0x80000049 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_WINDMILL_EXT = 0x8000004A ,
SOUND_LOOP_WINDMILL_GEARS = 0x8000004B ,
SOUND_LOOP_SHY_GUY_CROWD_1 = 0x8000004C ,
SOUND_LOOP_SHY_GUY_CROWD_2 = 0x8000004D ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_FLIGHT = 0x8000004E , // #unused
2023-08-21 20:07:08 +02:00
SOUND_LOOP_WHALE_GEYSER = 0x8000004F ,
SOUND_LOOP_FLO_FILL_WATER_POOL = 0x80000050 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_KPA_CHAIN_DRIVE = 0x80000051 ,
SOUND_LOOP_KPA_FILL_WATER = 0x80000052 ,
SOUND_LOOP_KPA_DRAIN_WATER = 0x80000053 ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_KPA_FLIP_BRIDGE_PANEL = 0x80000054 , // #unused
2023-08-05 07:24:23 +02:00
SOUND_LOOP_JR_TROOPA_SWIM = 0x80000055 ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_KKJ_RUMBLING = 0x80000056 ,
SOUND_LOOP_OSR_RUMBLING = 0x80000057 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_MAC_HARBOR_WATER = 0x80000058 ,
SOUND_LOOP_OSR_FOUNTAIN_INTACT = 0x80000059 ,
SOUND_LOOP_OSR_FOUNTAIN_BROKEN = 0x8000005A ,
SOUND_LOOP_NOK_WATER = 0x8000005B ,
SOUND_LOOP_TRD_WATER_EXT = 0x8000005C ,
2023-08-12 23:08:33 +02:00
SOUND_LOOP_DGB_COLLAPSE = 0x8000005D ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_SBK_RUINS_RISING = 0x8000005E ,
SOUND_LOOP_SBK_RUINS_WHIRLWIND = 0x8000005F ,
SOUND_LOOP_SBK_RUINS_RISING_DISTANT = 0x80000060 ,
SOUND_LOOP_SBK_OASIS_WATER = 0x80000061 ,
SOUND_LOOP_62 = 0x80000062 , // unused, no data
2023-08-12 23:08:33 +02:00
SOUND_LOOP_STAR_SANCTUARY_FAR = 0x80000063 ,
SOUND_LOOP_STAR_SANCTUARY_NEAR = 0x80000064 ,
SOUND_LOOP_STAR_SANCTUARY_INSIDE = 0x80000065 ,
SOUND_LOOP_BOWSER_PROPELLER = 0x80000066 ,
2023-08-21 20:07:08 +02:00
SOUND_LOOP_STAR_ORB_RISING = 0x80000067 ,
SOUND_LOOP_USE_STAR_BEAM = 0x80000068 ,
SOUND_LOOP_USE_PEACH_BEAM = 0x80000069 ,
2023-10-14 21:43:12 +02:00
SOUND_LOOP_SPINNING_FLOWER = 0x8000006A , // doesn't loop
SOUND_LOOP_RUMBLE = 0x8000006B ,
SOUND_LOOP_FIGHTING = 0x8000006C ,
SOUND_LOOP_KPA_ARENA_TURN_ON = 0x8000006D , // unused
SOUND_LOOP_KPA_ARENA_ACTIVE = 0x8000006E , // unused
2023-02-06 12:21:55 +01:00
// exit doors
2023-08-05 07:24:23 +02:00
SOUND_DOOR_OPEN = 0x90000000 ,
SOUND_DOOR_CLOSE = 0x90000001 ,
2023-02-06 12:21:55 +01:00
// room doors
2023-08-05 07:24:23 +02:00
SOUND_ROOM_DOOR_OPEN = 0xA0000000 ,
SOUND_ROOM_DOOR_CLOSE = 0xA0000001 ,
2023-02-06 12:21:55 +01:00
// alternating sounds
2023-08-05 07:24:23 +02:00
SOUND_SEQ_FIRE_BAR_0 = 0xB0000000 ,
SOUND_SEQ_FIRE_BAR_1 = 0xB0000001 ,
SOUND_SEQ_FIRE_BAR_2 = 0xB0000002 ,
SOUND_SEQ_FIRE_BAR_3 = 0xB0000003 ,
SOUND_SEQ_FIRE_BAR_4 = 0xB0000004 ,
SOUND_SEQ_FIRE_BAR_5 = 0xB0000005 ,
SOUND_SEQ_FIRE_BAR_6 = 0xB0000006 ,
SOUND_SEQ_FIRE_BAR_7 = 0xB0000007 ,
SOUND_SEQ_FIRE_BAR_8 = 0xB0000008 ,
SOUND_SEQ_FIRE_BAR_9 = 0xB0000009 ,
SOUND_SEQ_FIRE_BAR_DEAD = 0xB000000A ,
2023-08-21 20:07:08 +02:00
SOUND_SEQ_AI_ALERT = 0xB000000B ,
SOUND_SEQ_SNORE_INHALE = 0xB000000C ,
SOUND_SEQ_SNORE_EXHALE = 0xB000000D ,
SOUND_SEQ_SNAP_AWAKE = 0xB000000E ,
2023-08-12 23:08:33 +02:00
SOUND_SEQ_BOO_VANISH = 0xB000000F ,
SOUND_SEQ_BOO_APPEAR = 0xB0000010 ,
2023-08-21 20:07:08 +02:00
SOUND_SEQ_WINDOW_OPEN = 0xB0000011 ,
SOUND_SEQ_WINDOW_CLOSE = 0xB0000012 ,
SOUND_SEQ_RAVEN_LEAP = 0xB0000013 ,
SOUND_SEQ_RAVEN_FALL = 0xB0000014 ,
SOUND_SEQ_SHOOTING_STAR_FALL = 0xB0000015 ,
SOUND_SEQ_SHOOTING_STAR_BOUNCE = 0xB0000016 ,
SOUND_SEQ_FUZZY_HOP = 0xB0000017 ,
SOUND_SEQ_BULLET_BILL_EXPLODE = 0xB0000018 ,
SOUND_SEQ_LUIGI_STEP = 0xB0000019 ,
SOUND_SEQ_TRAIN_CHUG = 0xB000001A ,
SOUND_SEQ_FINALE_BRIDGE_COLLAPSE = 0xB000001B ,
SOUND_SEQ_FINALE_EXPLOSION = 0xB000001C ,
SOUND_SEQ_SHUFFLE_CARD = 0xB000001D ,
SOUND_SEQ_STAR_SPIRIT_APPEAR = 0xB000001E ,
SOUND_SEQ_STAR_SPIRIT_CAST = 0xB000001F ,
SOUND_SEQ_UNUSED_EXPLODE = 0xB0000020 ,
SOUND_SEQ_SHY_GUY_STEP = 0xB0000021 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-10-30 16:23:13 +01:00
enum SoundSpatializationFlags {
SOUND_SPACE_MODE_MASK = 0x0000FFFF ,
2023-08-21 20:07:08 +02:00
SOUND_SPACE_DEFAULT = 0x00000000 ,
SOUND_SPACE_WITH_DEPTH = 0x00000001 ,
2022-10-30 16:23:13 +01:00
SOUND_SPACE_FULL = 0x00000002 ,
SOUND_SPACE_PARAMS_MASK = 0xFFFF0000 ,
SOUND_PARAM_MUTE = 0x00010000 ,
SOUND_PARAM_CLIP_OFFSCREEN_ANY = 0x00020000 ,
SOUND_PARAM_CLIP_OFFSCREEN_X = 0x00040000 ,
SOUND_PARAM_CLIP_OFFSCREEN_Y = 0x00080000 ,
SOUND_PARAM_MOST_QUIET = 0x00100000 ,
SOUND_PARAM_MORE_QUIET = 0x00200000 ,
SOUND_PARAM_QUIET = 0x00400000 ,
} ;
2023-02-06 12:21:55 +01:00
enum SoundTriggers {
SOUND_TRIGGER_CHANGE_SOUND = 1 ,
SOUND_TRIGGER_CHANGE_VOLUME = 2 ,
2022-08-06 14:14:04 +02:00
} ;
typedef enum AuResult {
AU_RESULT_OK = 0 ,
AU_ERROR_1 = 1 ,
AU_AMBIENCE_ERROR_1 = 1 ,
AU_ERROR_SONG_NOT_PLAYING = 2 , // player not found for songName
AU_AMBIENCE_ERROR_2 = 2 ,
AU_ERROR_NULL_SONG_NAME = 3 , // songName is NULL
AU_AMBIENCE_ERROR_3 = 3 ,
AU_ERROR_INVALID_SONG_DURATION = 4 , // duration out of bounds: (250,10000)
AU_ERROR_6 = 6 ,
AU_ERROR_7 = 7 ,
AU_ERROR_11 = 11 ,
AU_ERROR_SBN_INDEX_OUT_OF_RANGE = 101 ,
AU_ERROR_SBN_FORMAT_MISMATCH = 102 ,
AU_ERROR_151 = 151 ,
AU_ERROR_201 = 201
} AuResult ;
typedef enum AuFileFormat {
AU_FMT_BGM = 0x10 ,
AU_FMT_SEF = 0x20 ,
AU_FMT_BK = 0x30 ,
AU_FMT_PER = 0x40 ,
AU_FMT_PRG = 0x40 ,
AU_FMT_MSEQ = 0x40
} AuFileFormat ;
enum {
MUSIC_PROXIMITY_FAR ,
MUSIC_PROXIMITY_NEAR ,
MUSIC_PROXIMITY_FULL
} ;
typedef enum MusicTrackVols {
TRACK_VOLS_0 = 0 ,
TRACK_VOLS_1 = 1 ,
TRACK_VOLS_2 = 2 ,
TRACK_VOLS_3 = 3 ,
TRACK_VOLS_KPA_OUTSIDE = 4 ,
TRACK_VOLS_KPA_1 = 5 ,
TRACK_VOLS_KPA_2 = 6 ,
TRACK_VOLS_KPA_3 = 7
} MusicTrackVols ;
2021-03-29 09:34:39 +02:00
enum Cams {
2021-11-11 05:30:59 +01:00
CAM_DEFAULT = 0 ,
CAM_BATTLE = 1 ,
CAM_TATTLE = 2 ,
2024-09-23 20:42:15 +02:00
CAM_HUD = 3 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-04-05 11:52:06 +02:00
enum CamShakeModes {
CAM_SHAKE_CONSTANT_VERTICAL = 0 ,
CAM_SHAKE_ANGULAR_HORIZONTAL = 1 ,
2024-09-23 20:42:15 +02:00
CAM_SHAKE_DECAYING_VERTICAL = 2 ,
2022-04-05 11:52:06 +02:00
} ;
2022-05-16 21:18:18 +02:00
// for use with SetBattleCamParam
2024-09-23 20:42:15 +02:00
enum BasicCameraParams {
CAM_PARAM_SKIP_RECALC = 1 ,
CAM_PARAM_BOOM_LENGTH = 2 ,
CAM_PARAM_FOV_SCALE = 3 ,
CAM_PARAM_BOOM_PITCH = 4 ,
CAM_PARAM_BOOM_YAW = 5 ,
CAM_PARAM_BOOM_Y_OFFSET = 6 ,
CAM_PARAM_UNK_7 = 7 ,
CAM_PARAM_ZOOM_PERCENT = 8 ,
2022-04-05 11:52:06 +02:00
} ;
2023-08-03 05:44:30 +02:00
# include "item_enum.h"
2022-08-25 12:18:04 +02:00
2022-10-01 03:44:48 +02:00
// used for chest and give item events
enum GotItemType {
ITEM_TYPE_CONSUMABLE = 0 ,
ITEM_TYPE_KEY = 1 ,
2022-10-11 23:19:39 +02:00
ITEM_TYPE_BADGE = 2 ,
ITEM_TYPE_STAR_PIECE = 3 ,
2022-10-01 03:44:48 +02:00
} ;
2022-04-15 05:28:49 +02:00
enum ItemTypeFlags {
ITEM_TYPE_FLAG_WORLD_USABLE = 0x0001 ,
ITEM_TYPE_FLAG_BATTLE_USABLE = 0x0002 ,
ITEM_TYPE_FLAG_CONSUMABLE = 0x0004 ,
ITEM_TYPE_FLAG_KEY = 0x0008 ,
ITEM_TYPE_FLAG_GEAR = 0x0020 ,
ITEM_TYPE_FLAG_BADGE = 0x0040 ,
ITEM_TYPE_FLAG_FOOD_OR_DRINK = 0x0080 ,
ITEM_TYPE_FLAG_USE_DRINK_ANIMATION = 0x0100 ,
2023-04-21 10:33:49 +02:00
ITEM_TYPE_FLAG_ENTITY_COLLECTABLE = 0x0200 ,
2022-04-15 05:28:49 +02:00
ITEM_TYPE_FLAG_ENTITY_FULLSIZE = 0x1000 ,
} ;
2021-09-28 09:47:55 +02:00
2023-10-14 21:43:12 +02:00
// both items and moves use these flags to determine what type of targets are eligible
// they are used during the construction of target lists and during the select target battle state
2023-03-16 14:35:31 +01:00
enum TargetFlags {
2023-10-14 21:43:12 +02:00
TARGET_FLAG_SELECT_ONE = 0x00000001 , // player selects a single target
TARGET_FLAG_2 = 0x00000002 ,
TARGET_FLAG_GROUND = 0x00000004 , // only allow targets on the ground (row = 0)
TARGET_FLAG_PLAYER = 0x00000008 , // allow the player as a target, prevents enemies from being targets
TARGET_FLAG_NOT_HIGH = 0x00000010 , // only allow targets in the first two rows (no moves use this)
TARGET_FLAG_NOT_FLYING = 0x00000020 , // reject targets which have ACTOR_FLAG_FLYING
TARGET_FLAG_NOT_GROUND = 0x00000040 , // reject targets on the ground (row = 0)
TARGET_FLAG_80 = 0x00000080 , // jump, headbonk, belly flop (not read)
TARGET_FLAG_PARTNER = 0x00000100 , // allow the partner as a target, prevents enemies from being targets
TARGET_FLAG_AIRLIFT = 0x00000400 , // special case for air lift, only rejects targets on the ceiling
TARGET_FLAG_JUMP_LIKE = 0x00000800 , // jump, headbonk, belly flop, ... and jump charge
TARGET_FLAG_SMASH_LIKE = 0x00001000 , // smash moves
TARGET_FLAG_NOT_BEHIND = 0x00002000 , // hammer, bombette body slam, kooper shell toss
TARGET_FLAG_NOT_BELOW = 0x00004000 , // reject all targets below other targets
TARGET_FLAG_PRIMARY_ONLY = 0x00008000 , // rejects all targets without ACTOR_PART_FLAG_PRIMARY_TARGET
TARGET_FLAG_ALLOW_TARGET_ONLY = 0x00010000 , // allow targets which have ACTOR_FLAG_TARGET_ONLY
TARGET_FLAG_TATTLE = 0x00020000 , // special case for tattle, only rejects targets with ACTOR_FLAG_NO_TATTLE
TARGET_FLAG_NO_CEILING = 0x00040000 , // rejects targets on the ceiling (those with ACTOR_FLAG_UPSIDE_DOWN)
TARGET_FLAG_DIR_RIGHT = 0x00100000 , // directional filter used with CountTargets (bugged, unused)
TARGET_FLAG_DIR_LEFT = 0x00200000 , // directional filter used with CountTargets (bugged, unused)
TARGET_FLAG_DIR_BELOW = 0x00400000 , // directional filter used with CountTargets (bugged, unused)
TARGET_FLAG_DIR_ABOVE = 0x00800000 , // directional filter used with CountTargets (bugged, unused)
TARGET_FLAG_OVERRIDE = 0x80000000 , // skip choosing a target
2023-03-16 14:35:31 +01:00
} ;
enum ActorPartTargetFlags {
2023-10-14 21:43:12 +02:00
ACTOR_PART_TARGET_NO_JUMP = 0x01 , // prevent any jump attacks from targeting
ACTOR_PART_TARGET_NO_SMASH = 0x02 , // prevent any smash attacks from targeting
ACTOR_PART_TARGET_NO_DAMAGE = 0x04 , // exempts from damage or status infliction
2022-05-18 09:53:28 +02:00
} ;
2021-03-29 09:34:39 +02:00
enum AmbientSounds {
2023-02-17 08:44:14 +01:00
AMBIENT_SPOOKY = 0 ,
AMBIENT_WIND = 1 ,
AMBIENT_BEACH = 2 ,
AMBIENT_JUNGLE = 3 ,
AMBIENT_LAVA_1 = 4 ,
AMBIENT_LAVA_2 = 5 ,
AMBIENT_SILENCE = 6 ,
AMBIENT_LAVA_3 = 7 ,
AMBIENT_LAVA_4 = 8 ,
AMBIENT_LAVA_5 = 9 ,
AMBIENT_LAVA_6 = 10 ,
AMBIENT_LAVA_7 = 11 ,
AMBIENT_BIRDS = 12 ,
AMBIENT_SEA = 13 ,
AMBIENT_RADIO = 16 , // radio songs for nok
2022-08-06 14:14:04 +02:00
// the following 4 IDs are reserved for additional radio songs,
// and no more are expected to follow after that
2023-02-06 01:13:45 +01:00
// see: au_ambient_load
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum EncounterOutcomes {
2021-11-11 05:30:59 +01:00
OUTCOME_PLAYER_WON = 0 ,
OUTCOME_PLAYER_LOST = 1 ,
OUTCOME_PLAYER_FLED = 2 ,
OUTCOME_ENEMY_FLED = 3 ,
2024-10-08 05:15:38 +02:00
OUTCOME_SKIP = 4 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-10-15 18:04:53 +02:00
enum MerleeSpellType {
2023-10-22 14:39:20 +02:00
MERLEE_SPELL_NONE = 0 ,
MERLEE_SPELL_ATK_BOOST = 1 ,
MERLEE_SPELL_DEF_BOOST = 2 ,
2023-01-15 10:22:41 +01:00
MERLEE_SPELL_EXP_BOOST = 3 ,
MERLEE_SPELL_COIN_BOOST = 4 ,
2022-10-15 18:04:53 +02:00
} ;
2022-09-08 14:12:26 +02:00
enum NpcDecorationIDs {
NPC_DECORATION_NONE = 0x00000000 ,
NPC_DECORATION_BOWSER_AURA = 0x00000001 ,
NPC_DECORATION_SWEAT = 0x00000002 ,
NPC_DECORATION_SEEING_STARS = 0x00000003 ,
NPC_DECORATION_WHITE_GLOW_FRONT = 0x00000004 ,
NPC_DECORATION_WHITE_GLOW_BEHIND = 0x00000005 ,
NPC_DECORATION_CHARGED = 0x00000006 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2023-10-14 21:43:12 +02:00
enum NpcPaletteAdjustments {
NPC_PAL_ADJUST_NONE = 0 ,
NPC_PAL_ADJUST_WATT_IDLE = 1 ,
NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS = 2 ,
NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS = 3 ,
NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES = 4 ,
} ;
2022-10-11 00:02:54 +02:00
enum SpeechFlags {
SPEECH_FLAG_10 = 0x010 ,
SPEECH_FLAG_HAS_OFFSET = 0x100 ,
SPEECH_FLAG_200 = 0x200 ,
// different facing orientations for speaker and listener
SPEECH_ORIENTATION_MASK = 0xF ,
SPEECH_FACE_SPEAKER_ONLY = 4 ,
SPEECH_FACE_AWAY_FROM = 3 ,
SPEECH_FACE_LIKE_SPEAKER = 2 ,
SPEECH_FACE_LIKE_LISTENER = 1 ,
SPEECH_FACE_EACH_OTHER = 0 ,
} ;
2023-02-15 09:18:27 +01:00
typedef enum HitResult {
HIT_RESULT_BACKFIRE = - 1 ,
HIT_RESULT_HIT = 0 ,
2023-10-22 14:39:20 +02:00
HIT_RESULT_NICE = 1 ,
2023-02-15 09:18:27 +01:00
HIT_RESULT_NO_DAMAGE = 2 ,
2023-10-22 14:39:20 +02:00
HIT_RESULT_NICE_NO_DAMAGE = 3 ,
2023-02-15 09:18:27 +01:00
HIT_RESULT_LANDED_ON_SPIKE = 4 ,
HIT_RESULT_LUCKY = 5 ,
HIT_RESULT_MISS = 6 ,
HIT_RESULT_HIT_STATIC = 7 ,
HIT_RESULT_IMMUNE = 8 ,
HIT_RESULT_10 = 10 ,
} HitResult ;
2020-08-15 00:47:06 +02:00
2023-08-21 20:07:08 +02:00
typedef enum ActionResult {
2024-10-23 07:44:44 +02:00
ACTION_RESULT_NONE = 127 ,
ACTION_RESULT_METER_BELOW_HALF = - 4 , // certain mashing comamnds fail with this value
ACTION_RESULT_METER_NOT_ENOUGH = - 2 , // certain mashing comamnds fail with this value
ACTION_RESULT_EARLY = - 1 , // timing commands too early fail with this value
ACTION_RESULT_FAIL = 0 , // simple failure to complete action command
ACTION_RESULT_SUCCESS = 1 ,
2023-08-21 20:07:08 +02:00
} ActionResult ;
typedef enum BlockResult {
BLOCK_RESULT_NONE = 127 ,
BLOCK_RESULT_EARLY = - 1 ,
BLOCK_RESULT_FAIL = 0 ,
BLOCK_RESULT_SUCCESS = 1 ,
} BlockResult ;
2022-09-06 17:26:53 +02:00
enum ActionRatings {
ACTION_RATING_NICE = 0 , ///< sets nice hits = 1
ACTION_RATING_MISS = 1 , ///< clears nice hits
ACTION_RATING_LUCKY = 2 , ///< clears nice hits
ACTION_RATING_SUPER = 3 , ///< sets nice hits = 2
ACTION_RATING_NICE_NO_COMBO = 4 , ///< clears nice hits
ACTION_RATING_NICE_SUPER_COMBO = 5 ///< 'Nice' but becomes 'Super' if nice hits > 2
} ;
2023-04-26 01:33:17 +02:00
enum DamageSources {
DMG_SRC_DEFAULT = 0 ,
2023-05-01 09:22:52 +02:00
DMG_SRC_LEECH = 1 , // used by Baby Blooper, but not Fuzzy
2023-04-26 01:33:17 +02:00
DMG_SRC_SPIN_SMASH = 2 ,
DMG_SRC_D_DOWN_POUND = 3 ,
DMG_SRC_D_DOWN_JUMP = 4 ,
DMG_SRC_TUTORIAL_GOOMBARIO = 5 ,
DMG_SRC_SHELL_TOSS = 6 ,
DMG_SRC_POWER_SHELL = 7 ,
DMG_SRC_DIZZY_SHELL = 8 ,
DMG_SRC_FIRE_SHELL = 9 ,
DMG_SRC_NEXT_SLAP_LEFT = 10 ,
DMG_SRC_NEXT_SLAP_RIGHT = 11 ,
DMG_SRC_LAST_SLAP_LEFT = 12 ,
DMG_SRC_LAST_SLAP_RIGHT = 13 ,
DMG_SRC_NEXT_FAN_SMACK_LEFT = 14 ,
DMG_SRC_NEXT_FAN_SMACK_RIGHT = 15 ,
DMG_SRC_LAST_FAN_SMACK_LEFT = 16 ,
DMG_SRC_LAST_FAN_SMACK_RIGHT = 17 ,
DMG_SRC_SPOOK = 18 ,
DMG_SRC_ELECTRO_DASH = 19 ,
DMG_SRC_HURRICANE = 20 ,
DMG_SRC_FRIGHT_JAR = 21 ,
DMG_SRC_POW_BLOCK = 22 ,
DMG_SRC_TUBBA_SMASH = 23 ,
DMG_SRC_CRUSH = 24 ,
DMG_SRC_CRUSH_PARTNER = 25 ,
DMG_SRC_INK_BLAST = 26 ,
} ;
2023-08-21 20:07:08 +02:00
enum PartnerRank {
PARTNER_RANK_NORMAL = 0 ,
PARTNER_RANK_SUPER = 1 ,
PARTNER_RANK_ULTRA = 2 ,
} ;
2021-03-29 09:34:39 +02:00
enum Iters {
2021-11-11 05:30:59 +01:00
ITER_FIRST = - 1 ,
ITER_NEXT = 0 ,
ITER_PREV = 1 ,
ITER_LAST = 10 ,
2023-10-14 21:43:12 +02:00
// return values
ITER_HAS_MORE = 0 ,
ITER_NO_MORE = - 1 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum ActorSoundIDs {
2021-11-11 05:30:59 +01:00
ACTOR_SOUND_WALK = 0x00000000 ,
ACTOR_SOUND_FLY = 0x00000001 ,
ACTOR_SOUND_JUMP = 0x00000002 ,
ACTOR_SOUND_HURT = 0x00000003 ,
ACTOR_SOUND_WALK_INCREMENT = 0x00000004 ,
ACTOR_SOUND_FLY_INCREMENT = 0x00000005 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-09-08 14:12:26 +02:00
enum ActorDecorationIDs {
2023-10-14 21:43:12 +02:00
ACTOR_DECORATION_NONE = 0x00000000 ,
ACTOR_DECORATION_GOLDEN_FLAMES = 0x00000001 ,
ACTOR_DECORATION_SWEAT = 0x00000002 ,
ACTOR_DECORATION_SEEING_STARS = 0x00000003 ,
ACTOR_DECORATION_RED_FLAMES = 0x00000004 ,
ACTOR_DECORATION_GREY_SMOKE_TRAIL = 0x00000005 ,
ACTOR_DECORATION_FIRE_SMOKE_TRAIL = 0x00000006 ,
ACTOR_DECORATION_WHIRLWIND = 0x00000007 ,
ACTOR_DECORATION_STEAM_EMITTER = 0x00000008 ,
ACTOR_DECORATION_SPARKLES = 0x00000009 ,
ACTOR_DECORATION_BOWSER_AURA = 0x0000000A ,
ACTOR_DECORATION_RADIAL_STAR_EMITTER = 0x0000000B ,
2022-09-08 14:12:26 +02:00
} ;
2021-03-29 09:34:39 +02:00
enum Phases {
2021-11-11 05:30:59 +01:00
PHASE_EXECUTE_ACTION = 0 ,
PHASE_FIRST_STRIKE = 1 ,
PHASE_RUN_AWAY_START = 3 ,
2023-02-21 09:24:25 +01:00
PHASE_DEATH = 4 ,
2023-01-11 09:38:04 +01:00
PHASE_CELEBRATE = 5 ,
2021-11-11 05:30:59 +01:00
PHASE_USE_DEFEND = 6 ,
PHASE_RUN_AWAY_FAIL = 7 ,
PHASE_USE_LIFE_SHROOM = 8 ,
PHASE_PLAYER_BEGIN = 10 ,
PHASE_ENEMY_END = 11 ,
PHASE_ENEMY_BEGIN = 12 ,
PHASE_PLAYER_END = 13 ,
PHASE_MERLEE_ATTACK_BONUS = 20 ,
PHASE_MERLEE_DEFENSE_BONUS = 21 ,
PHASE_MERLEE_EXP_BONUS = 22 ,
PHASE_PLAYER_HAPPY = 30 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-01-05 12:05:49 +01:00
enum ActorClasses {
ACTOR_CLASS_PLAYER = 0x000 ,
ACTOR_CLASS_PARTNER = 0x100 ,
ACTOR_CLASS_ENEMY = 0x200 ,
ACTOR_CLASS_MASK = 0x700 ,
} ;
2021-03-29 09:34:39 +02:00
enum ActorIDs {
2021-11-11 05:30:59 +01:00
ACTOR_SELF = 0xFFFFFF81 ,
ACTOR_PLAYER = 0x00000000 ,
ACTOR_PARTNER = 0x00000100 ,
ACTOR_ENEMY0 = 0x00000200 ,
ACTOR_ENEMY1 = 0x00000201 ,
ACTOR_ENEMY2 = 0x00000202 ,
ACTOR_ENEMY3 = 0x00000203 ,
ACTOR_ENEMY4 = 0x00000204 ,
ACTOR_ENEMY5 = 0x00000205 ,
ACTOR_ENEMY6 = 0x00000206 ,
ACTOR_ENEMY7 = 0x00000207 ,
ACTOR_ENEMY8 = 0x00000208 ,
ACTOR_ENEMY9 = 0x00000209 ,
ACTOR_ENEMY10 = 0x0000020A ,
ACTOR_ENEMY11 = 0x0000020B ,
ACTOR_ENEMY12 = 0x0000020C ,
ACTOR_ENEMY13 = 0x0000020D ,
ACTOR_ENEMY14 = 0x0000020E ,
ACTOR_ENEMY15 = 0x0000020F ,
ACTOR_ENEMY16 = 0x00000210 ,
ACTOR_ENEMY17 = 0x00000211 ,
ACTOR_ENEMY18 = 0x00000212 ,
ACTOR_ENEMY19 = 0x00000213 ,
ACTOR_ENEMY20 = 0x00000214 ,
ACTOR_ENEMY21 = 0x00000215 ,
ACTOR_ENEMY22 = 0x00000216 ,
ACTOR_ENEMY23 = 0x00000217 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum Elements {
2021-11-11 05:30:59 +01:00
ELEMENT_END = 0x00000000 ,
ELEMENT_NORMAL = 0x00000001 ,
ELEMENT_FIRE = 0x00000002 ,
ELEMENT_WATER = 0x00000003 ,
ELEMENT_ICE = 0x00000004 ,
ELEMENT_MYSTERY = 0x00000005 ,
ELEMENT_MAGIC = 0x00000007 ,
2023-02-15 09:18:27 +01:00
ELEMENT_SMASH = 0x00000008 ,
2021-11-11 05:30:59 +01:00
ELEMENT_JUMP = 0x00000009 ,
ELEMENT_COSMIC = 0x0000000A ,
ELEMENT_BLAST = 0x0000000B ,
ELEMENT_SHOCK = 0x0000000C ,
ELEMENT_QUAKE = 0x0000000D ,
ELEMENT_THROW = 0x0000000F ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum Events {
2021-11-11 05:30:59 +01:00
EVENT_HIT_COMBO = 0x00000009 ,
EVENT_HIT = 0x0000000A ,
EVENT_SPIN_SMASH_HIT = 0x0000000B ,
EVENT_FALL_TRIGGER = 0x0000000C ,
EVENT_FLIP_TRIGGER = 0x0000000D ,
EVENT_BURN_HIT = 0x0000000E ,
2023-08-21 20:07:08 +02:00
EVENT_15 = 0x0000000F , // FLAME_HIT?
2021-11-11 05:30:59 +01:00
EVENT_SPIN_SMASH_LAUNCH_HIT = 0x00000011 ,
EVENT_SHELL_CRACK_HIT = 0x00000012 ,
EVENT_STAR_BEAM = 0x00000013 ,
2022-10-10 13:26:32 +02:00
EVENT_PEACH_BEAM = 0x00000014 ,
2021-11-11 05:30:59 +01:00
EVENT_POWER_BOUNCE_HIT = 0x00000015 ,
EVENT_BLOW_AWAY = 0x00000016 ,
2023-02-15 09:18:27 +01:00
EVENT_ZERO_DAMAGE = 0x00000017 ,
2021-11-11 05:30:59 +01:00
EVENT_18 = 0x00000018 ,
EVENT_IMMUNE = 0x00000019 ,
EVENT_BLOCK = 0x0000001A ,
EVENT_SPIKE_TAUNT = 0x0000001B ,
EVENT_BURN_TAUNT = 0x0000001C ,
2023-02-21 09:24:25 +01:00
EVENT_INVUNERABLE_TAUNT = 0x0000001D ,
2022-10-08 12:06:15 +02:00
EVENT_1E = 0x0000001E ,
2021-11-11 05:30:59 +01:00
EVENT_AIR_LIFT_FAILED = 0x0000001F ,
EVENT_DEATH = 0x00000020 ,
EVENT_SPIN_SMASH_DEATH = 0x00000021 ,
EVENT_EXPLODE_TRIGGER = 0x00000022 ,
EVENT_23 = 0x00000023 ,
EVENT_BURN_DEATH = 0x00000024 ,
EVENT_SPIN_SMASH_LAUNCH_DEATH = 0x00000025 ,
EVENT_SHOCK_DEATH = 0x00000026 ,
EVENT_SPIKE_DEATH = 0x00000027 ,
EVENT_POWER_BOUNCE_DEATH = 0x00000028 ,
EVENT_FIRE_DEATH = 0x00000029 , // burn death copy?
EVENT_SPIKE_CONTACT = 0x0000002A ,
EVENT_BURN_CONTACT = 0x0000002C ,
EVENT_SHOCK_HIT = 0x0000002F ,
2022-01-06 17:32:57 +01:00
EVENT_30 = 0x00000030 ,
2021-11-11 05:30:59 +01:00
EVENT_RECOVER_STATUS = 0x00000031 ,
2021-12-21 23:12:59 +01:00
EVENT_32 = 0x00000032 ,
2022-01-19 12:21:19 +01:00
EVENT_33 = 0x00000033 ,
2023-01-15 10:22:41 +01:00
EVENT_RECOVER_FROM_KO = 0x00000034 ,
2021-11-11 05:30:59 +01:00
EVENT_END_FIRST_STRIKE = 0x00000035 ,
EVENT_LUCKY = 0x00000037 ,
EVENT_BEGIN_FIRST_STRIKE = 0x00000038 ,
EVENT_SCARE_AWAY = 0x00000039 ,
EVENT_BEGIN_AIR_LIFT = 0x0000003A ,
EVENT_UP_AND_AWAY = 0x0000003D ,
2023-08-12 23:08:33 +02:00
EVENT_PUT_PARTNER_AWAY = 0x0000003E ,
EVENT_RECEIVE_BUFF = 0x0000003F ,
2021-11-11 05:30:59 +01:00
EVENT_LIFE_SHROOM_PROC = 0x00000040 ,
EVENT_REVIVE = 0x00000041 ,
2022-10-08 12:06:15 +02:00
EVENT_66 = 0x00000042 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum HitSounds {
2021-11-11 05:30:59 +01:00
HIT_SOUND_MISS = 0 ,
HIT_SOUND_BONES = 1 ,
HIT_SOUND_NORMAL = 2 ,
HIT_SOUND_FIRE = 3 ,
HIT_SOUND_ICE = 4 ,
HIT_SOUND_SHOCK = 5 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-12-28 12:43:24 +01:00
// Player.debuff
// Partner.debuff
2022-09-06 17:26:53 +02:00
enum StatusKeys {
2023-05-20 19:26:11 +02:00
STATUS_END = 0x00000000 ,
STATUS_KEY_NORMAL = 0x00000001 ,
STATUS_KEY_DEFAULT = 0x00000002 ,
STATUS_KEY_FEAR = 0x00000003 ,
STATUS_KEY_DIZZY = 0x00000004 ,
STATUS_KEY_PARALYZE = 0x00000005 ,
STATUS_KEY_SLEEP = 0x00000006 ,
STATUS_KEY_FROZEN = 0x00000007 ,
STATUS_KEY_STOP = 0x00000008 ,
STATUS_KEY_POISON = 0x00000009 ,
STATUS_KEY_SHRINK = 0x0000000A ,
STATUS_KEY_STATIC = 0x0000000B ,
STATUS_KEY_STONE = 0x0000000C ,
STATUS_KEY_DAZE = 0x0000000D ,
STATUS_KEY_TRANSPARENT = 0x0000000E ,
STATUS_KEY_KO = 0x0000000F ,
STATUS_KEY_BERSERK = 0x00000010 ,
STATUS_KEY_11 = 0x00000011 ,
STATUS_KEY_INACTIVE = 0x00000012 ,
STATUS_KEY_INACTIVE_BERSERK = 0x00000013 ,
STATUS_KEY_14 = 0x00000014 , // probably STATUS_KEY_INACTIVE_FROZEN
STATUS_KEY_INACTIVE_SLEEP = 0x00000015 ,
STATUS_KEY_INACTIVE_WEARY = 0x00000016 ,
STATUS_KEY_17 = 0x00000017 ,
STATUS_KEY_INACTIVE_DIZZY = 0x00000018 ,
STATUS_KEY_HUSTLE = 0x00000019 ,
STATUS_KEY_DANGER = 0x0000001A ,
STATUS_KEY_1B = 0x0000001B ,
STATUS_KEY_THINKING = 0x0000001C ,
STATUS_KEY_WEARY = 0x0000001D ,
STATUS_KEY_1E = 0x0000001E ,
STATUS_TURN_MOD_DEFAULT = 0x0000001F ,
STATUS_TURN_MOD_SLEEP = 0x00000020 ,
STATUS_TURN_MOD_STATIC = 0x00000021 ,
STATUS_TURN_MOD_FROZEN = 0x00000022 ,
STATUS_TURN_MOD_FEAR = 0x00000023 ,
STATUS_TURN_MOD_DIZZY = 0x00000024 ,
STATUS_TURN_MOD_POISON = 0x00000025 ,
STATUS_TURN_MOD_PARALYZE = 0x00000026 ,
STATUS_TURN_MOD_SHRINK = 0x00000027 ,
STATUS_TURN_MOD_STONE = 0x00000028 ,
STATUS_TURN_MOD_STOP = 0x00000029 ,
} ;
2023-10-14 21:43:12 +02:00
enum ActorPaletteAdjustments {
ACTOR_PAL_ADJUST_NONE = 0 ,
ACTOR_PAL_ADJUST_SLEEP = 3 ,
ACTOR_PAL_ADJUST_STATIC = 4 ,
ACTOR_PAL_ADJUST_FEAR = 5 , // darker
ACTOR_PAL_ADJUST_POISON = 6 ,
ACTOR_PAL_ADJUST_PARALYZE = 7 ,
ACTOR_PAL_ADJUST_BERSERK = 8 ,
ACTOR_PAL_ADJUST_WATT_IDLE = 9 ,
ACTOR_PAL_ADJUST_WATT_ATTACK = 10 ,
ACTOR_PAL_ADJUST_PLAYER_DEBUFF = 12 ,
ACTOR_PAL_ADJUST_PLAYER_POISON = 13 ,
ACTOR_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS = 14 ,
ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS = 15 ,
ACTOR_PAL_ADJUST_BLEND_PALSETS = 16 ,
} ;
enum GlowPaletteModes {
GLOW_PAL_OFF = 0 ,
GLOW_PAL_ON = 11 ,
} ;
enum ActorPartFlashState {
FLASH_MODE_LIGHT = 0 ,
FLASH_MODE_MEDIUM = 1 ,
FLASH_MODE_HEAVY = 2 ,
FLASH_MODE_DISPOSE = 3 ,
} ;
enum FlashPaletteModes {
FLASH_PAL_OFF = 0 ,
FLASH_PAL_ON = - 1 ,
2021-11-11 05:30:59 +01:00
} ;
2022-09-06 17:26:53 +02:00
enum DoorSwing {
2023-05-20 19:26:11 +02:00
DOOR_SWING_IN = - 1 ,
DOOR_SWING_OUT = 1 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-09-06 17:26:53 +02:00
enum VisibilityGroup {
VIS_GROUP_0 = 0 ,
VIS_GROUP_1 = 1 ,
VIS_GROUP_2 = 2 ,
VIS_GROUP_3 = 3 ,
2022-10-30 16:23:13 +01:00
VIS_GROUP_4 = 4 ,
VIS_GROUP_5 = 5 ,
2023-01-02 02:58:39 +01:00
VIS_GROUP_6 = 6 ,
VIS_GROUP_7 = 7 ,
2022-09-06 17:26:53 +02:00
} ;
2021-03-29 09:34:39 +02:00
enum ItemSpawnModes {
2022-09-08 14:12:26 +02:00
ITEM_SPAWN_MODE_KEY = 0x00000000 ,
2021-11-11 05:30:59 +01:00
ITEM_SPAWN_MODE_DECORATION = 0x00000001 ,
ITEM_SPAWN_MODE_INVISIBLE = 0x00000002 ,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS = 0x00000003 ,
ITEM_SPAWN_MODE_BATTLE_REWARD = 0x00000004 ,
ITEM_SPAWN_MODE_TOSS_NEVER_VANISH = 0x00000005 ,
ITEM_SPAWN_MODE_TOSS = 0x00000006 ,
ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE = 0x00000007 ,
ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE_NEVER_VANISH = 0x00000008 ,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_NEVER_VANISH = 0x00000009 ,
ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM = 0x0000000A ,
ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE = 0x0000000B ,
ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS = 0x0000000C ,
ITEM_SPAWN_MODE_FALL_NEVER_VANISH = 0x0000000D ,
ITEM_SPAWN_MODE_FALL = 0x0000000E ,
ITEM_SPAWN_MODE_FALL_SPAWN_ONCE = 0x0000000F ,
ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS = 0x00000010 ,
ITEM_SPAWN_MODE_FIXED_NEVER_VANISH = 0x00000011 ,
ITEM_SPAWN_MODE_FIXED = 0x00000012 ,
ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS_NEVER_VANISH = 0x00000013 ,
ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS = 0x00000014 ,
ITEM_SPAWN_MODE_ITEM_BLOCK_COIN = 0x00000015 ,
ITEM_SPAWN_MODE_TOSS_HIGHER_NEVER_VANISH = 0x00000016 ,
ITEM_SPAWN_MODE_TOSS_FADE1 = 0x00000017 ,
ITEM_SPAWN_MODE_TOSS_FADE2 = 0x00000018 ,
ITEM_SPAWN_MODE_TOSS_FADE3 = 0x00000019 ,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_SMALL = 0x0000001A ,
ITEM_SPAWN_MODE_UNKNOWN_1B = 0x0000001B ,
2022-05-21 06:56:54 +02:00
ITEM_SPAWN_AT_PLAYER = 0x0000001C ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum Locations {
2023-04-26 01:33:17 +02:00
LOCATION_TOAD_TOWN = 0x01 ,
LOCATION_TOAD_TOWN_TUNNELS = 0x02 ,
LOCATION_KOOPA_BROS_FORTRESS = 0x07 ,
LOCATION_MT_RUGGED = 0x08 ,
LOCATION_DRY_DRY_OUTPOST = 0x09 ,
LOCATION_DRY_DRY_DESERT = 0x0A ,
LOCATION_DRY_DRY_RUINS = 0x0B ,
LOCATION_FOREVER_FOREST = 0x0C ,
LOCATION_BOOS_MANSION = 0x0D ,
LOCATION_TUBBAS_MANOR = 0x0F ,
LOCATION_SHY_GUYS_TOYBOX = 0x10 ,
LOCATION_MT_LAVALAVA = 0x12 ,
LOCATION_CRYSTAL_PALACE = 0x15 ,
LOCATION_BOWSERS_CASTLE = 0x16 ,
LOCATION_TESTING = 0x17 ,
LOCATION_NONE = 0x18 ,
LOCATION_PEACH_CASTLE_GROUNDS = 0x19 ,
LOCATION_PEACHS_CASTLE = 0x1A ,
LOCATION_SHOOTING_STAR_SUMMIT = 0x1B ,
LOCATION_STAR_WAY = 0x1C ,
LOCATION_STAR_HAVEN = 0x1D ,
LOCATION_GOOMBA_VILLAGE = 0x1E ,
LOCATION_GOOMBA_ROAD = 0x1F ,
LOCATION_PLEASANT_PATH = 0x20 ,
LOCATION_KOOPA_VILLAGE = 0x21 ,
LOCATION_GUSTY_GULCH = 0x22 ,
LOCATION_WINDY_MILL = 0x23 ,
LOCATION_JADE_JUNGLE = 0x24 ,
LOCATION_YOSHIS_VILLAGE = 0x25 ,
LOCATION_FLOWER_FIELDS = 0x26 ,
LOCATION_CLOUDY_CLIMB = 0x27 ,
LOCATION_SHIVER_CITY = 0x28 ,
LOCATION_SHIVER_SNOWFIELD = 0x29 ,
LOCATION_STARBORN_VALLEY = 0x2A ,
LOCATION_SHIVER_MOUNTAIN = 0x2B ,
LOCATION_MARIOS_HOUSE = 0x2C ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-09-06 17:26:53 +02:00
typedef enum ScreenTransition {
2023-04-26 01:33:17 +02:00
TRANSITION_STANDARD = 0 , // fade to/from black
TRANSITION_TOY_TRAIN = 1 , // similar to TRANSITION_TOY_TRAIN, but fade applies to whole screen
TRANSITION_END_DEMO_SCENE_BLACK = 2 , // rapidly fade to black
TRANSITION_END_DEMO_SCENE_WHITE = 3 , // slow fade to white -> rapid fade in from white
TRANSITION_BEGIN_OR_END_GAME = 4 , // slow fade to/from black
TRANSITION_OUTRO_END_SCENE = 5 , // slow fade to/from black
TRANSITION_BEGIN_OR_END_CHAPTER = 6 , // white fade in/out; standard transition for entering kmr_22 (Begin Chapter) or leaving kmr_23 (End of Chapter)
TRANSITION_SLOW_FADE_TO_WHITE = 7 , // slow fade to/from white
TRANSITION_ENTER_WORLD = 8 , // black Mario stencil in/out
TRANSITION_MARIO_WHITE = 9 , // white Mario stencil -> white fade in; used in post ch5 scene, fading to Save and Continue? screen
TRANSITION_MARIO_BLACK = 10 , // black Mario stencil -> black fade in; used after Goombaria finds Mario and he wakes up in the inn
TRANSITION_AFTER_SAVE_PROMPT = 11 , // white fade out -> white star stencil
TRANSITION_END_PEACH_INTERLUDE = 12 , // white star stencil -> white Mario stencil
TRANSITION_PEACH_CAPTURED = 13 , // black star stencil -> black fade in
TRANSITION_GET_STAR_CARD = 14 , // used for entering kmr_23 (Get Star Card / End Chapter)
TRANSITION_END_CHAPTER_INTERRUPTED = 15 , // white fade out -> white Mario stencil; used in kzn_19 for Ch5
TRANSITION_SLOW_BLUR_MOTION = 16 , // unused?
2022-09-06 17:26:53 +02:00
} ScreenTransition ;
2023-04-26 01:33:17 +02:00
enum ScreenLayer {
SCREEN_LAYER_FRONT = 0 ,
SCREEN_LAYER_BACK = 1 ,
} ;
typedef enum ScreenOverlayType {
OVERLAY_NONE = - 1 ,
OVERLAY_SCREEN_COLOR = 0 ,
OVERLAY_VIEWPORT_COLOR = 1 ,
OVERLAY_TYPE_2 = 2 ,
OVERLAY_VIEWPORT_SPOTLIGHT = 3 ,
OVERLAY_VIEWPORT_MARIO = 4 ,
OVERLAY_VIEWPORT_STAR = 5 ,
OVERLAY_SCREEN_SPOTLIGHT = 6 ,
OVERLAY_SCREEN_MARIO = 7 ,
OVERLAY_SCREEN_STAR = 8 ,
OVERLAY_TYPE_9 = 9 ,
OVERLAY_START_BATTLE = 10 ,
OVERLAY_WORLD_DARKNESS = 11 ,
OVERLAY_BLUR = 12 ,
OVERLAY_BATTLE_DARKNESS = 13 ,
2023-10-14 21:43:12 +02:00
OVERLAY_INTRO_1 = 14 ,
OVERLAY_INTRO_2 = 15 ,
2023-04-26 01:33:17 +02:00
} ScreenOverlayType ;
2021-03-29 09:34:39 +02:00
enum DoorSounds {
2021-11-11 05:30:59 +01:00
DOOR_SOUNDS_BASIC = 0 ,
DOOR_SOUNDS_METAL = 1 ,
DOOR_SOUNDS_LARGE = 2 ,
DOOR_SOUNDS_CREAKY = 3 ,
DOOR_SOUNDS_GATE = 4 ,
DOOR_SOUNDS_DOOR = 5 ,
DOOR_SOUNDS_UNUSED = 6 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-11-15 15:55:59 +01:00
# include "sprite/sprite_shading_profiles.h"
2023-02-14 01:46:48 +01:00
enum LightSourceFlags {
LIGHT_SOURCE_DISABLED = 0 ,
LIGHT_SOURCE_ENABLED = 1 ,
LIGHT_SOURCE_LINEAR_FALLOFF = 4 ,
LIGHT_SOURCE_QUADRATIC_FALLOFF = 8 ,
} ;
2021-03-29 09:34:39 +02:00
enum ActionStates {
2021-11-11 05:30:59 +01:00
ACTION_STATE_IDLE = 0x00000000 ,
ACTION_STATE_WALK = 0x00000001 ,
ACTION_STATE_RUN = 0x00000002 ,
2022-01-05 12:05:49 +01:00
// all states above are considered locomotion states
2021-11-11 05:30:59 +01:00
ACTION_STATE_JUMP = 0x00000003 ,
ACTION_STATE_BOUNCE = 0x00000004 , ///< Used with Kooper
ACTION_STATE_HOP = 0x00000005 , ///< Released A before apex of jump
ACTION_STATE_LAUNCH = 0x00000006 , ///< Shy Guy Toybox jack-in-the-boxes
ACTION_STATE_LANDING_ON_SWITCH = 0x00000007 , ///< Small red/blue ! switches
ACTION_STATE_FALLING = 0x00000008 ,
ACTION_STATE_STEP_DOWN = 0x00000009 ,
ACTION_STATE_LAND = 0x0000000A ,
ACTION_STATE_STEP_DOWN_LAND = 0x0000000B ,
2021-04-17 13:16:13 +02:00
// Following action states prohibit movement (see set_action_state())
2021-11-11 05:30:59 +01:00
ACTION_STATE_TALK = 0x0000000C , ///< Reading signs doesn't count
ACTION_STATE_SPIN_JUMP = 0x0000000D ,
2022-09-13 08:26:57 +02:00
ACTION_STATE_SPIN_POUND = 0x0000000E ,
ACTION_STATE_TORNADO_JUMP = 0x0000000F ,
ACTION_STATE_TORNADO_POUND = 0x00000010 ,
2021-11-11 05:30:59 +01:00
ACTION_STATE_SLIDING = 0x00000011 ,
ACTION_STATE_HAMMER = 0x00000012 ,
2021-12-28 04:00:13 +01:00
ACTION_STATE_13 = 0x00000013 ,
2022-09-13 08:26:57 +02:00
ACTION_STATE_PUSHING_BLOCK = 0x00000014 ,
2021-11-11 05:30:59 +01:00
ACTION_STATE_HIT_FIRE = 0x00000015 , ///< Causes Mario to fly up and take damage. Used for fire bars.
ACTION_STATE_KNOCKBACK = 0x00000016 , // some kind of knockback, does no damage
ACTION_STATE_HIT_LAVA = 0x00000017 ,
ACTION_STATE_STEP_UP_PEACH = 0x00000018 ,
ACTION_STATE_USE_SNEAKY_PARASOL = 0x00000019 ,
ACTION_STATE_SPIN = 0x0000001A ,
ACTION_STATE_ENEMY_FIRST_STRIKE = 0x0000001B ,
2022-03-26 12:47:10 +01:00
ACTION_STATE_RAISE_ARMS = 0x0000001C ,
2021-11-11 05:30:59 +01:00
ACTION_STATE_USE_SPINNING_FLOWER = 0x0000001D ,
ACTION_STATE_USE_MUNCHLESIA = 0x0000001E , ///< Set by the jan_09 squishy flower entity; throws the player in the air.
ACTION_STATE_USE_TWEESTER = 0x0000001F ,
ACTION_STATE_BOUNCE_OFF_SWITCH = 0x00000020 , ///< Small red/blue ! switches
ACTION_STATE_RIDE = 0x00000021 ,
ACTION_STATE_STEP_UP = 0x00000022 ,
ACTION_STATE_23 = 0x00000023 ,
ACTION_STATE_24 = 0x00000024 ,
2022-09-13 08:26:57 +02:00
ACTION_STATE_INVALID_25 = 0x00000025 ,
2021-11-11 05:30:59 +01:00
ACTION_STATE_USE_SPRING = 0x00000026 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-09-13 08:26:57 +02:00
enum JumpSubstate {
JUMP_SUBSTATE_0 = 0 ,
JUMP_SUBSTATE_1 = 1 ,
} ;
2023-03-06 08:44:48 +01:00
enum TweesterPartnerStates {
TWEESTER_PARTNER_INIT = 0 ,
TWEESTER_PARTNER_ATTRACT = 1 ,
TWEESTER_PARTNER_HOLD = 2 ,
TWEESTER_PARTNER_RELEASE = 3 ,
} ;
2022-09-13 08:26:57 +02:00
enum LandOnSwitchSubstate {
LANDING_ON_SWITCH_SUBSTATE_0 = 0 ,
LANDING_ON_SWITCH_SUBSTATE_1 = 1 ,
LANDING_ON_SWITCH_SUBSTATE_2 = 2 ,
} ;
2023-11-24 05:06:58 +01:00
enum PeachFlags {
PEACH_FLAG_IS_PEACH = 0x01 ,
PEACH_FLAG_DISGUISED = 0x02 ,
PEACH_FLAG_HAS_PARASOL = 0x04 ,
PEACH_FLAG_BLOCK_NEXT_DISGUISE = 0x08 , // next attempt to copy an NPC with parasol will fail
PEACH_FLAG_DEPRESSED = 0x10
2023-02-14 01:46:48 +01:00
} ;
enum PeachBakingItems {
PEACH_BAKING_NONE = 0 ,
PEACH_BAKING_CREAM = 1 ,
PEACH_BAKING_STRAWBERRY = 2 ,
PEACH_BAKING_BUTTER = 3 ,
PEACH_BAKING_CLEANSER = 4 ,
PEACH_BAKING_WATER = 5 ,
PEACH_BAKING_MILK = 6 ,
PEACH_BAKING_FLOUR = 7 ,
PEACH_BAKING_EGG = 8 ,
PEACH_BAKING_COMPLETE_CAKE = 9 ,
PEACH_BAKING_CAKE_BOWL = 10 ,
PEACH_BAKING_CAKE_MIXED = 11 ,
PEACH_BAKING_CAKE_PAN = 12 ,
PEACH_BAKING_CAKE_BATTER = 13 ,
PEACH_BAKING_CAKE_BARE = 14 ,
PEACH_BAKING_SALT = 15 ,
PEACH_BAKING_SUGAR = 16 ,
PEACH_BAKING_CAKE_WITH_ICING = 17 ,
PEACH_BAKING_CAKE_WITH_BERRIES = 18 ,
2022-03-26 12:47:10 +01:00
} ;
2023-01-05 08:04:03 +01:00
enum PeachDisguises {
2023-02-14 01:46:48 +01:00
PEACH_DISGUISE_NONE = 0 ,
PEACH_DISGUISE_KOOPATROL = 1 ,
PEACH_DISGUISE_HAMMER_BROS = 2 ,
PEACH_DISGUISE_CLUBBA = 3 ,
2023-01-05 08:04:03 +01:00
} ;
2021-11-11 05:30:59 +01:00
// Requires decimals
2021-03-29 09:34:39 +02:00
enum NpcIDs {
2023-05-23 14:57:34 +02:00
NPC_SELF = - 1 ,
NPC_PLAYER = - 2 ,
NPC_PARTNER = - 4 ,
NPC_BTL_MERLEE = - 10 ,
NPC_BTL_COMPANION = 0 , // used for Peach in intro Bowser fight and Kolorado in Lava Piranha fight
NPC_BTL_SPIRIT = 100 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2023-10-14 21:43:12 +02:00
enum ShadowType {
SHADOW_VARYING_CIRCLE = 0 ,
SHADOW_VARYING_SQUARE = 1 ,
SHADOW_FIXED_CIRCLE = 2 ,
SHADOW_FIXED_SQUARE = 3 ,
SHADOW_VARYING_ALT_CIRCLE = 4 , // unused?
SHADOW_FIXED_ALT_CIRCLE = 5 , // unused?
} ;
2022-01-14 19:54:45 +01:00
enum EntityTypes {
ENTITY_TYPE_SHADOW = 0x01 ,
2022-02-12 18:58:21 +01:00
ENTITY_TYPE_2 = 0x02 ,
2022-01-14 19:54:45 +01:00
ENTITY_TYPE_PADLOCK = 0x03 ,
ENTITY_TYPE_PADLOCK_RED_FRAME = 0x04 ,
ENTITY_TYPE_PADLOCK_RED_FACE = 0x05 ,
ENTITY_TYPE_PADLOCK_BLUE_FACE = 0x06 ,
ENTITY_TYPE_BLUE_SWITCH = 0x07 ,
ENTITY_TYPE_RED_SWITCH = 0x08 ,
ENTITY_TYPE_HUGE_BLUE_SWITCH = 0x09 ,
ENTITY_TYPE_GREEN_STOMP_SWITCH = 0x0A ,
ENTITY_TYPE_MULTI_TRIGGER_BLOCK = 0x0B ,
ENTITY_TYPE_PUSH_BLOCK = 0x0C ,
ENTITY_TYPE_BRICK_BLOCK = 0x0D ,
ENTITY_TYPE_MULTI_COIN_BRICK = 0x0E ,
ENTITY_TYPE_YELLOW_BLOCK = 0x0F ,
ENTITY_TYPE_SINGLE_TRIGGER_BLOCK = 0x10 ,
ENTITY_TYPE_HIDDEN_YELLOW_BLOCK = 0x11 ,
ENTITY_TYPE_HIDDEN_RED_BLOCK = 0x12 ,
ENTITY_TYPE_INACTIVE_BLOCK = 0x13 ,
ENTITY_TYPE_RED_BLOCK = 0x14 ,
ENTITY_TYPE_HAMMER1_BLOCK = 0x15 ,
ENTITY_TYPE_HAMMER2_BLOCK = 0x16 ,
ENTITY_TYPE_HAMMER3_BLOCK = 0x17 ,
ENTITY_TYPE_HAMMER1_BLOCK_TINY = 0x18 ,
ENTITY_TYPE_HAMMER2_BLOCK_TINY = 0x19 ,
ENTITY_TYPE_HAMMER3_BLOCK_TINY = 0x1A ,
ENTITY_TYPE_HEALING_BLOCK = 0x1B ,
2022-06-17 11:21:13 +02:00
ENTITY_TYPE_1C = 0x1C ,
ENTITY_TYPE_1D = 0x1D ,
ENTITY_TYPE_1E = 0x1E ,
2022-01-14 19:54:45 +01:00
ENTITY_TYPE_HEALING_BLOCK_FRAME = 0x1F ,
ENTITY_TYPE_SAVE_POINT = 0x20 ,
ENTITY_TYPE_POW_BLOCK = 0x21 ,
ENTITY_TYPE_SUPER_BLOCK = 0x22 ,
ENTITY_TYPE_ULTRA_BLOCK = 0x23 ,
ENTITY_TYPE_WOODEN_CRATE = 0x24 ,
ENTITY_TYPE_BOARDED_FLOOR = 0x25 ,
ENTITY_TYPE_BOMBABLE_ROCK = 0x26 ,
ENTITY_TYPE_BLUE_WARP_PIPE = 0x2B ,
ENTITY_TYPE_SIMPLE_SPRING = 0x2E ,
ENTITY_TYPE_SCRIPT_SPRING = 0x2F ,
ENTITY_TYPE_HIDDEN_PANEL = 0x30 ,
2023-11-10 06:19:40 +01:00
ENTITY_TYPE_STAR_BOX_LAUNCHER = 0x31 ,
2022-01-14 19:54:45 +01:00
ENTITY_TYPE_CHEST = 0x32 ,
ENTITY_TYPE_SIGNPOST = 0x33 ,
ENTITY_TYPE_RED_ARROW_SIGNS = 0x34 ,
ENTITY_TYPE_BELLBELL_PLANT = 0x35 ,
ENTITY_TYPE_TRUMPET_PLANT = 0x36 ,
ENTITY_TYPE_MUNCHLESIA = 0x37 ,
ENTITY_TYPE_CYMBAL_PLANT = 0x38 ,
ENTITY_TYPE_PINK_FLOWER = 0x39 ,
ENTITY_TYPE_SPINNING_FLOWER = 0x3A ,
ENTITY_TYPE_3B = 0x3B ,
ENTITY_TYPE_TWEESTER = 0x3C ,
ENTITY_TYPE_HEALING_BLOCK_CONTENT = 0x3F ,
ENTITY_TYPE_SUPER_BLOCK_HIT_EFFECT = 0x41 ,
ENTITY_TYPE_ULTRA_BLOCK_HIT_EFFECT = 0x42 ,
ENTITY_TYPE_RESET_MUNCHLESIA = 0x43 ,
ENTITY_TYPE_MUNCHLESIA_GRAB = 0x44 ,
ENTITY_TYPE_MUNCHLESIA_ENVELOP = 0x45 ,
ENTITY_TYPE_MUNCHLESIA_BEGIN_CHEW = 0x46 ,
ENTITY_TYPE_MUNCHLESIA_CHEWING = 0x47 ,
ENTITY_TYPE_MUNCHLESIA_SPIT_OUT = 0x48 ,
ENTITY_TYPE_MUNCHLESIA_RESET1 = 0x49 ,
ENTITY_TYPE_MUNCHLESIA_RESET2 = 0x4A
} ;
2022-01-16 14:28:09 +01:00
// Entity
enum EntityFlags {
2023-01-12 03:09:13 +01:00
ENTITY_FLAG_HIDDEN = 0x00000001 ,
ENTITY_FLAG_DRAW_IF_CLOSE_HIDE_MODE1 = 0x00000002 ,
ENTITY_FLAG_HAS_DYNAMIC_SHADOW = 0x00000004 ,
ENTITY_FLAG_HAS_ANIMATED_MODEL = 0x00000008 ,
ENTITY_FLAG_SKIP_UPDATE_TRANSFORM_MATRIX = 0x00000010 ,
ENTITY_FLAG_DISABLE_COLLISION = 0x00000020 ,
ENTITY_FLAG_CONTINUOUS_COLLISION = 0x00000040 ,
ENTITY_FLAG_80 = 0x00000080 ,
ENTITY_FLAG_HAS_SHADOW = 0x00000100 ,
ENTITY_FLAG_FIXED_SHADOW_SIZE = 0x00000200 ,
ENTITY_FLAG_400 = 0x00000400 ,
2023-10-14 21:43:12 +02:00
ENTITY_FLAG_CIRCULAR_SHADOW = 0x00000800 ,
2023-01-12 03:09:13 +01:00
ENTITY_FLAG_SHOWS_INSPECT_PROMPT = 0x00001000 ,
ENTITY_FLAG_ALWAYS_FACE_CAMERA = 0x00002000 ,
ENTITY_FLAG_4000 = 0x00004000 ,
ENTITY_FLAG_8000 = 0x00008000 ,
ENTITY_FLAG_DETECTED_COLLISION = 0x00010000 ,
ENTITY_FLAG_PARTNER_COLLISION = 0x00020000 ,
ENTITY_FLAG_DRAW_IF_CLOSE_HIDE_MODE2 = 0x00040000 ,
ENTITY_FLAG_IGNORE_DISTANCE_CULLING = 0x00080000 ,
2024-01-16 05:56:57 +01:00
ENTITY_FLAG_USED = 0x00100000 ,
2023-01-12 03:09:13 +01:00
ENTITY_FLAG_200000 = 0x00200000 ,
ENTITY_FLAG_SHADOW_POS_DIRTY = 0x00400000 ,
ENTITY_FLAG_DARK_SHADOW = 0x00800000 ,
ENTITY_FLAG_BOUND_SCRIPT_DIRTY = 0x01000000 ,
ENTITY_FLAG_2000000 = 0x02000000 ,
ENTITY_FLAG_PENDING_FULL_DELETE = 0x04000000 ,
ENTITY_FLAG_8000000 = 0x08000000 ,
ENTITY_FLAG_FADING_AWAY = 0x10000000 ,
ENTITY_FLAG_PENDING_INSTANCE_DELETE = 0x20000000 ,
ENTITY_FLAG_SKIP_UPDATE = 0x40000000 ,
ENTITY_FLAG_CREATED = 0x80000000 ,
2022-01-16 14:28:09 +01:00
} ;
enum EntityCollisionFlags {
2022-03-26 12:47:10 +01:00
ENTITY_COLLISION_PLAYER_TOUCH_FLOOR = 0x00000001 ,
2023-08-12 23:08:33 +02:00
ENTITY_COLLISION_FLAG_02 = 0x00000002 ,
2022-03-26 12:47:10 +01:00
ENTITY_COLLISION_PLAYER_TOUCH_CEILING = 0x00000004 ,
ENTITY_COLLISION_PLAYER_TOUCH_WALL = 0x00000008 ,
ENTITY_COLLISION_PLAYER_PUSHING_AGAINST = 0x00000010 ,
2023-08-12 23:08:33 +02:00
ENTITY_COLLISION_FLAG_20 = 0x00000020 ,
2022-03-26 12:47:10 +01:00
ENTITY_COLLISION_PLAYER_HAMMER = 0x00000040 ,
2022-07-17 18:38:19 +02:00
ENTITY_COLLISION_PARTNER = 0x00000080 ,
2022-03-26 12:47:10 +01:00
ENTITY_COLLISION_PLAYER_LAST_FLOOR = 0x00000100
2022-01-16 14:28:09 +01:00
} ;
2023-02-06 01:13:45 +01:00
enum EntityHideMode {
2023-08-12 23:08:33 +02:00
ENTITY_HIDE_MODE_0 = 0 ,
ENTITY_HIDE_MODE_1 = 1 ,
ENTITY_HIDE_MODE_2 = 2 ,
2023-02-06 01:13:45 +01:00
} ;
2022-04-10 10:37:13 +02:00
typedef enum PushGridOccupant {
PUSH_GRID_EMPTY = 0 ,
PUSH_GRID_BLOCK = 1 ,
PUSH_GRID_OBSTRUCTION = 2 ,
PUSH_GRID_OUT_OF_BOUNDS = 3
} PushGridOccupant ;
2022-01-16 14:28:09 +01:00
enum TriggerFlags {
TRIGGER_ACTIVE = 0x00000001 ,
TRIGGER_ACTIVATED = 0x00000002 ,
TRIGGER_FORCE_ACTIVATE = 0x00000010 ,
2021-04-02 07:50:38 +02:00
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 ,
2023-02-06 01:13:45 +01:00
TRIGGER_FLAG_2000 = 0x00002000 ,
TRIGGER_FLAG_4000 = 0x00004000 ,
TRIGGER_FLAG_8000 = 0x00008000 ,
2021-04-02 07:50:38 +02:00
TRIGGER_GAME_FLAG_SET = 0x00010000 ,
TRIGGER_AREA_FLAG_SET = 0x00020000 ,
TRIGGER_CEILING_TOUCH = 0x00040000 ,
TRIGGER_FLOOR_ABOVE = 0x00080000 ,
TRIGGER_POINT_BOMB = 0x00100000 ,
2022-01-16 14:28:09 +01:00
TRIGGER_SCRIPT_BOUND = 0x01000000
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2022-03-26 12:47:10 +01:00
enum ItemEntityFlags {
2023-05-20 19:26:11 +02:00
ITEM_ENTITY_FLAG_CAM0 = 0x00000001 ,
ITEM_ENTITY_FLAG_CAM1 = 0x00000002 ,
ITEM_ENTITY_FLAG_CAM2 = 0x00000004 ,
ITEM_ENTITY_FLAG_CAM3 = 0x00000008 ,
ITEM_ENTITY_FLAG_10 = 0x00000010 ,
ITEM_ENTITY_FLAG_HIDDEN = 0x00000040 , // do not render; player cant pickup
2023-10-22 14:39:20 +02:00
ITEM_ENTITY_FLAG_JUST_SPAWNED = 0x00000080 ,
2023-05-20 19:26:11 +02:00
ITEM_ENTITY_FLAG_AUTO_COLLECT = 0x00000100 ,
ITEM_ENTITY_FLAG_NEVER_VANISH = 0x00000200 ,
ITEM_ENTITY_FLAG_SAVE_ON_TOUCH = 0x00000400 , // sets bound game flag when the item is touched
2023-10-22 14:39:20 +02:00
ITEM_ENTITY_FLAG_SAVE_ON_INIT = 0x00000800 ,
2023-05-20 19:26:11 +02:00
ITEM_ENTITY_FLAG_1000 = 0x00001000 ,
ITEM_ENTITY_FLAG_NO_GRAVITY = 0x00002000 ,
ITEM_ENTITY_RESIZABLE = 0x00004000 ,
ITEM_ENTITY_FLAG_8000 = 0x00008000 ,
ITEM_ENTITY_FLAG_TOSS_LOWER = 0x00010000 ,
2023-10-22 14:39:20 +02:00
ITEM_ENTITY_FLAG_ODD_SPAWN_PARITY = 0x00020000 , // every other item entity spawned will have this set
ITEM_ENTITY_FLAG_FULLSIZE = 0x00040000 ,
2023-05-20 19:26:11 +02:00
ITEM_ENTITY_FLAG_TRANSPARENT = 0x00080000 ,
2023-10-22 14:39:20 +02:00
ITEM_ENTITY_FLAG_INVISIBLE = 0x00100000 , // spawned with ITEM_SPAWN_MODE_INVISIBLE
2023-05-20 19:26:11 +02:00
ITEM_ENTITY_FLAG_CANT_COLLECT = 0x00200000 ,
ITEM_ENTITY_FLAG_400000 = 0x00400000 ,
ITEM_ENTITY_FLAG_800000 = 0x00800000 ,
ITEM_ENTITY_FLAG_TOSS_HIGHER = 0x01000000 ,
ITEM_ENTITY_FLAG_2000000 = 0x02000000 ,
ITEM_ENTITY_FLAG_4000000 = 0x04000000 ,
ITEM_ENTITY_FLAG_HIDING = 0x08000000 ,
ITEM_ENTITY_FLAG_NO_MOTION = 0x10000000 ,
ITEM_ENTITY_FLAG_DONE_FALLING = 0x20000000 ,
ITEM_ENTITY_FLAG_ANGLE_RELATIVE_VELOCITY = 0x40000000 ,
ITEM_ENTITY_FLAG_SAVE_ON_RECEIPT = 0x80000000 , // sets bound game flag only when the item is placed in player inventory
} ;
// governs item behavior after spawning until being picked up
enum ItemPhysicsStates {
ITEM_PHYSICS_STATE_INIT = 0x0 ,
2023-06-26 12:27:37 +02:00
ITEM_PHYSICS_STATE_ALIVE = 0x1 , //
2023-05-20 19:26:11 +02:00
ITEM_PHYSICS_STATE_DEAD = 0x2 , // item is vanished or fallen out of the world
ITEM_PHYSICS_STATE_TOUCH = 0x3 , // player has touched the item
ITEM_PHYSICS_STATE_04 = 0x4 ,
ITEM_PHYSICS_STATE_PICKUP = 0xA , // item will begin pickup, physics state is invalid after this
} ;
// governs the process of picking up an item
enum ItemPickupStates {
// these states comprise the typical progression for item pickup
ITEM_PICKUP_STATE_INIT = 0x0 ,
ITEM_PICKUP_STATE_AWAIT_VALID_STATE = 0x1 ,
ITEM_PICKUP_STATE_SHOW_GOT_ITEM = 0x2 ,
ITEM_PICKUP_STATE_HIDE_GOT_ITEM = 0x3 , // wait for window closing animations to finish
ITEM_PICKUP_STATE_DONE = 0x9 ,
// next three states are used for tutorials which trigger on item pickup
ITEM_PICKUP_STATE_CHECK_TUTORIALS = 0x4 ,
ITEM_PICKUP_STATE_SHOW_TUTORIAL = 0x5 ,
ITEM_PICKUP_STATE_AWAIT_TUTORIAL = 0x6 ,
// remaining states occur when inventory is full and an item needs to be throw away
ITEM_PICKUP_STATE_SHOW_TOO_MANY = 0xA , // show 'cant carry more items'; open throw away popup on state exit
ITEM_PICKUP_STATE_HIDE_TOO_MANY = 0xB , // wait for window closing animations to finish
ITEM_PICKUP_STATE_AWAIT_THROW_AWAY = 0xC , // choosing
ITEM_PICKUP_STATE_SHOW_THREW_AWAY = 0xD , // you threw away X window
ITEM_PICKUP_STATE_HIDE_THREW_AWAY = 0xE , // wait for window closing animations to finish
ITEM_PICKUP_STATE_THROW_AWAY_DONE = 0xF ,
} ;
enum ItemPickupFlags {
ITEM_PICKUP_FLAG_NO_SOUND = 0x01 ,
ITEM_PICKUP_FLAG_NO_ANIMS = 0x02 ,
ITEM_PICKUP_FLAG_UNKNOWN = 0x04 ,
ITEM_PICKUP_FLAG_1_COIN = 0x10 ,
ITEM_PICKUP_FLAG_3_STAR_PIECES = 0x20 ,
ITEM_PICKUP_FLAG_UNIQUE = 0x40 ,
2022-03-26 12:47:10 +01:00
} ;
2022-11-22 05:12:28 +01:00
// Worker
enum WorkerFlags {
WORKER_FLAG_1 = 0x00000001 ,
WORKER_FLAG_SKIP_DRAW_UNTIL_UPDATE = 0x00000002 ,
WORKER_FLAG_FRONT_UI = 0x00000004 ,
WORKER_FLAG_BACK_UI = 0x00000008 ,
} ;
2021-03-29 09:34:39 +02:00
enum Buttons {
2021-04-02 07:50:38 +02:00
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 ,
2021-09-28 09:47:55 +02:00
BUTTON_STICK_UP = 0x00010000 ,
BUTTON_STICK_DOWN = 0x00020000 ,
BUTTON_STICK_LEFT = 0x00040000 ,
BUTTON_STICK_RIGHT = 0x00080000 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum PlayerBuffs {
2021-11-11 05:30:59 +01:00
PLAYER_BUFF_ALL = 0xFFFFFFFF ,
2021-04-02 07:50:38 +02:00
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 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2021-03-29 09:34:39 +02:00
enum StatusFlags {
2021-04-02 07:50:38 +02:00
STATUS_FLAG_SLEEP = 0x00001000 ,
STATUS_FLAG_STATIC = 0x00002000 ,
2021-11-11 05:30:59 +01:00
STATUS_FLAG_FROZEN = 0x00004000 ,
2021-07-31 18:50:10 +02:00
STATUS_FLAG_FEAR = 0x00008000 ,
2021-04-02 07:50:38 +02:00
STATUS_FLAG_PARALYZE = 0x00010000 ,
STATUS_FLAG_POISON = 0x00020000 ,
STATUS_FLAG_DIZZY = 0x00040000 ,
STATUS_FLAG_SHRINK = 0x00080000 ,
STATUS_FLAG_STONE = 0x00100000 ,
STATUS_FLAG_STOP = 0x00200000 ,
2022-04-18 10:56:44 +02:00
STATUS_FLAG_400000 = 0x00400000 ,
2021-04-02 07:50:38 +02:00
STATUS_FLAG_KO = 0x01000000 ,
STATUS_FLAG_GLOWING = 0x02000000 ,
STATUS_FLAG_TRANSPARENT = 0x04000000 ,
STATUS_FLAG_ATTACK_BOOST = 0x08000000 ,
2021-03-29 09:34:39 +02:00
STATUS_FLAG_DEFENSE_BOOST = 0x10000000 ,
STATUS_FLAG_CHILL_OUT = 0x20000000 ,
STATUS_FLAG_RIGHT_ON = 0x40000000 ,
2022-01-13 07:26:42 +01:00
STATUS_FLAG_80000000 = 0x80000000 ,
2021-03-29 09:34:39 +02:00
} ;
2020-08-15 00:47:06 +02:00
2023-06-05 10:16:46 +02:00
// general combination of flags for checking if an enemy is immobilized
2023-02-20 16:22:38 +01:00
# define STATUS_FLAGS_IMMOBILIZED \
2023-06-05 10:16:46 +02:00
( STATUS_FLAG_SLEEP \
| STATUS_FLAG_FROZEN \
| STATUS_FLAG_FEAR \
| STATUS_FLAG_PARALYZE \
2023-02-20 16:22:38 +01:00
| STATUS_FLAG_DIZZY \
2023-06-05 10:16:46 +02:00
| STATUS_FLAG_STONE \
| STATUS_FLAG_STOP )
// common set of flags used in checks throughout Dojo fights
# define STATUS_FLAGS_DOJO \
( STATUS_FLAG_SLEEP \
2023-02-20 16:22:38 +01:00
| STATUS_FLAG_PARALYZE \
2023-06-05 10:16:46 +02:00
| STATUS_FLAG_DIZZY \
| STATUS_FLAG_STONE \
| STATUS_FLAG_STOP )
2023-02-20 16:22:38 +01:00
2021-03-29 09:34:39 +02:00
enum DamageTypes {
2021-11-11 05:30:59 +01:00
DAMAGE_TYPE_FIRE = 0x00000002 ,
DAMAGE_TYPE_WATER = 0x00000004 ,
DAMAGE_TYPE_ICE = 0x00000008 ,
DAMAGE_TYPE_MAGIC = 0x00000010 ,
2023-02-21 09:24:25 +01:00
DAMAGE_TYPE_SHOCK = 0x00000020 ,
2021-11-11 05:30:59 +01:00
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_FEAR = 0x00001000 ,
2023-02-22 09:03:47 +01:00
DAMAGE_TYPE_DEATH = 0x00002000 ,
2021-11-11 05:30:59 +01:00
DAMAGE_TYPE_4000 = 0x00004000 ,
DAMAGE_TYPE_AIR_LIFT = 0x00008000 ,
DAMAGE_TYPE_SPINY_SURGE = 0x00010000 ,
DAMAGE_TYPE_SHELL_CRACK = 0x00020000 ,
DAMAGE_TYPE_THROW = 0x00040000 ,
DAMAGE_TYPE_POWER_BOUNCE = 0x00100000 ,
DAMAGE_TYPE_QUAKE_HAMMER = 0x00200000 ,
DAMAGE_TYPE_REMOVE_BUFFS = 0x00400000 ,
DAMAGE_TYPE_PEACH_BEAM = 0x00800000 ,
DAMAGE_TYPE_MULTI_BOUNCE = 0x01000000 ,
DAMAGE_TYPE_UNBLOCKABLE = 0x02000000 ,
DAMAGE_TYPE_SPIN_SMASH = 0x04000000 ,
DAMAGE_TYPE_IGNORE_DEFENSE = 0x08000000 ,
DAMAGE_TYPE_NO_CONTACT = 0x10000000 ,
2023-06-05 10:16:46 +02:00
DAMAGE_TYPE_MULTIPLE_POPUPS = 0x20000000 , // part of an attack that hits multiple opponents
2021-11-11 05:30:59 +01:00
DAMAGE_TYPE_STATUS_ALWAYS_HITS = 0x40000000 ,
DAMAGE_TYPE_TRIGGER_LUCKY = 0x80000000 ,
} ;
2021-03-29 09:34:39 +02:00
enum PartnerIDs {
2021-11-11 05:30:59 +01:00
PARTNER_NONE = 0x00000000 ,
PARTNER_GOOMBARIO = 0x00000001 ,
PARTNER_KOOPER = 0x00000002 ,
PARTNER_BOMBETTE = 0x00000003 ,
PARTNER_PARAKARRY = 0x00000004 ,
PARTNER_GOOMPA = 0x00000005 ,
PARTNER_WATT = 0x00000006 ,
PARTNER_SUSHIE = 0x00000007 ,
PARTNER_LAKILESTER = 0x00000008 ,
PARTNER_BOW = 0x00000009 ,
PARTNER_GOOMBARIA = 0x0000000A ,
PARTNER_TWINK = 0x0000000B ,
2021-03-29 09:34:39 +02:00
} ;
2021-01-03 10:02:50 +01:00
2023-02-15 09:18:27 +01:00
enum EventSupressFlags {
SUPPRESS_EVENT_SPIKY_TOP = 0x1 ,
SUPPRESS_EVENT_EXPLODE_CONTACT = 0x2 ,
SUPPRESS_EVENT_SPIKY_FRONT = 0x4 ,
SUPPRESS_EVENT_SHOCK_CONTACT = 0x8 ,
SUPPRESS_EVENT_BURN_CONTACT = 0x10 ,
2023-10-14 21:43:12 +02:00
SUPPRESS_EVENT_ALT_SPIKY = 0x80 ,
2023-02-15 09:18:27 +01:00
SUPPRESS_EVENT_FLAG_200 = 0x200 , // unused?
SUPPRESS_EVENT_ALL = 0xFFFF ,
SUPPRESS_EVENT_FLAG_10000 = 0x10000 , // usage is a bug?
2022-04-18 10:56:44 +02:00
} ;
2023-10-22 14:39:20 +02:00
// combination used for hammer-based attacks
# define SUPPRESS_EVENTS_HAMMER \
SUPPRESS_EVENT_SPIKY_TOP \
| SUPPRESS_EVENT_SHOCK_CONTACT \
| SUPPRESS_EVENT_BURN_CONTACT
// combination used for mostly for kooper's attacks
# define SUPPRESS_EVENTS_KOOPER_TEST \
SUPPRESS_EVENT_SPIKY_FRONT \
| SUPPRESS_EVENT_BURN_CONTACT
// combination used for mostly for kooper's attacks
# define SUPPRESS_EVENTS_KOOPER_DAMAGE \
SUPPRESS_EVENT_SPIKY_TOP \
| SUPPRESS_EVENT_EXPLODE_CONTACT \
| SUPPRESS_EVENT_SPIKY_FRONT \
| SUPPRESS_EVENT_SHOCK_CONTACT \
| SUPPRESS_EVENT_BURN_CONTACT \
| SUPPRESS_EVENT_ALT_SPIKY
2022-04-17 17:36:37 +02:00
enum PartnerActions {
2022-05-18 09:53:28 +02:00
PARTNER_ACTION_NONE = 0 , // generic state
2022-04-17 17:36:37 +02:00
PARTNER_ACTION_USE = 1 , // generic state
2023-03-04 04:20:43 +01:00
PARTNER_ACTION_KOOPER_GATHER = 1 ,
PARTNER_ACTION_KOOPER_TOSS = 2 ,
2022-04-17 17:36:37 +02:00
PARTNER_ACTION_BOMBETTE_1 = 1 ,
PARTNER_ACTION_BOMBETTE_2 = 2 ,
2023-01-11 09:38:04 +01:00
PARTNER_ACTION_BOMBETTE_3 = 3 ,
2022-04-17 17:36:37 +02:00
PARTNER_ACTION_PARAKARRY_HOVER = 1 ,
PARTNER_ACTION_WATT_SHINE = 1 ,
PARTNER_ACTION_LAKILESTER_1 = 1 ,
} ;
2023-01-02 02:58:39 +01:00
enum PartnerStates {
PARTNER_CMD_NONE = 0 ,
PARTNER_CMD_INIT = 1 ,
PARTNER_CMD_INSTA_SWITCH = 2 , // skips put away / take out scripts. assumes valid current partner.
PARTNER_CMD_SWITCH = 3 , // assumes valid current partner.
PARTNER_CMD_PUT_AWAY = 4 , // switches to null partner.
PARTNER_CMD_INSTA_PUT_AWAY = 5 ,
PARTNER_CMD_TAKE_OUT = 6 , // assumes no current partner.
PARTNER_CMD_INSTA_TAKE_OUT = 7 ,
PARTNER_CMD_USE_ABILITY = 8 ,
PARTNER_CMD_RESET = 9 ,
PARTNER_CMD_ABORT = 10 ,
} ;
2021-03-28 20:31:15 +02:00
/// @see gAreas
2021-03-29 09:34:39 +02:00
enum Areas {
2021-04-02 07:50:38 +02:00
AREA_KMR ,
2021-03-28 20:31:15 +02:00
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 ,
} ;
2022-01-05 12:05:49 +01:00
enum NpcPalSwapState {
NPC_PALSWAP_HOLDING_A = 0 ,
NPC_PALSWAP_FROM_A_TO_B = 1 ,
NPC_PALSWAP_HOLDING_B = 2 ,
2024-10-08 05:15:38 +02:00
NPC_PALSWAP_FROM_B_TO_A = 3 ,
2022-01-05 12:05:49 +01:00
} ;
2021-04-03 19:21:49 +02:00
enum NpcFlags {
2024-10-08 05:15:38 +02:00
NPC_FLAG_ENABLED = 0x00000001 , // Does nothing aside from making npc->flags != 0
2023-02-18 09:13:07 +01:00
NPC_FLAG_INVISIBLE = 0x00000002 , // NPC will not be drawn or cause surface effects while moving
NPC_FLAG_INACTIVE = 0x00000004 , // NPC will not render, move, or have collisions with other NPCs. They may still be interacted with.
2023-08-21 20:07:08 +02:00
NPC_FLAG_FLYING = 0x00000008 ,
2023-02-18 09:13:07 +01:00
NPC_FLAG_HAS_SHADOW = 0x00000010 , // Set by default and by enable_npc_shadow
NPC_FLAG_NO_SHADOW_RAYCAST = 0x00000020 , // Shadows are tied to NPC position instead of raycasting below the NPC
NPC_FLAG_IGNORE_WORLD_COLLISION = 0x00000040 ,
NPC_FLAG_UPSIDE_DOWN = 0x00000080 , // Render NPCs upside-down
NPC_FLAG_IGNORE_PLAYER_COLLISION = 0x00000100 ,
NPC_FLAG_GRAVITY = 0x00000200 , // Enables gravity. Does nothing if NPC_FLAG_JUMPING is set.
NPC_FLAG_DONT_UPDATE_SHADOW_Y = 0x00000400 , // When shadow raycasting is off, only X and Z update as NPC moves
NPC_FLAG_JUMPING = 0x00000800 ,
2023-03-04 04:20:43 +01:00
NPC_FLAG_GROUNDED = 0x00001000 , // Touching the ground
2023-02-18 09:13:07 +01:00
NPC_FLAG_COLLDING_WITH_WORLD = 0x00002000 , // Colliding with world in front or to the sides of the NPC
NPC_FLAG_COLLDING_FORWARD_WITH_WORLD = 0x00004000 , // Colliding with world directly in front of NPC
NPC_FLAG_IGNORE_ENTITY_COLLISION = 0x00008000 ,
NPC_FLAG_DIRTY_SHADOW = 0x00010000 , // Set if shadow is dirty (needs to be repositioned etc.)
NPC_FLAG_REFLECT_WALL = 0x00020000 , // Mirror rendering across z=0
NPC_FLAG_IGNORE_CAMERA_FOR_YAW = 0x00040000 , // Do not adjust renderYaw to face the camera
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
2024-10-08 05:15:38 +02:00
NPC_FLAG_FLIP_INSTANTLY = 0x00200000 , // Flip instantly when changing facing direction
2023-02-18 09:13:07 +01:00
NPC_FLAG_TOUCHES_GROUND = 0x00400000 , // Can cause effects to play when touching special surface types
NPC_FLAG_HIDING = 0x00800000 ,
NPC_FLAG_HAS_NO_SPRITE = 0x01000000 ,
NPC_FLAG_COLLIDING_WITH_NPC = 0x02000000 ,
NPC_FLAG_PARTNER = 0x04000000 ,
NPC_FLAG_WORLD_COLLISION_DIRTY = 0x08000000 ,
2024-10-08 05:15:38 +02:00
NPC_FLAG_USE_INSPECT_ICON = 0x10000000 , // Approaching this NPC will cause a red ! to appear.
NPC_FLAG_RAYCAST_TO_INTERACT = 0x20000000 , // Intended to require a line of sight raycast before conversations can be triggered. Seems bugged.
2023-02-18 09:13:07 +01:00
NPC_FLAG_NO_ANIMS_LOADED = 0x40000000 , // Npc has no animations loaded
NPC_FLAG_SUSPENDED = 0x80000000 ,
2021-04-03 19:21:49 +02:00
} ;
2021-11-11 05:30:59 +01:00
enum PlayerStatusFlags {
2023-01-12 03:09:13 +01:00
PS_FLAG_AIRBORNE = 0x0000000E ,
PS_FLAG_HAS_REFLECTION = 0x00000001 ,
PS_FLAG_JUMPING = 0x00000002 ,
PS_FLAG_FALLING = 0x00000004 ,
PS_FLAG_FLYING = 0x00000008 ,
PS_FLAG_SLIDING = 0x00000010 ,
2022-11-25 16:16:13 +01:00
/* Paused either via the start menu, or through another menu that causes a pause (like the item menu) */
2023-01-12 03:09:13 +01:00
PS_FLAG_PAUSED = 0x00000020 ,
PS_FLAG_NO_CHANGE_PARTNER = 0x00000040 ,
PS_FLAG_NO_PARTNER_USAGE = 0x00000080 ,
2022-11-25 16:16:13 +01:00
/* Prevents opening menus that would require a game-time pause (start menu, item menu, etc) */
2023-01-12 03:09:13 +01:00
PS_FLAG_PAUSE_DISABLED = 0x00000100 ,
2022-11-25 16:16:13 +01:00
/* Doing either a spin jump or a tornado jump */
2023-01-12 03:09:13 +01:00
PS_FLAG_SPECIAL_JUMP = 0x00000200 ,
2022-11-25 16:16:13 +01:00
/* Landing from either a spin jump or a tornado jump */
2023-01-12 03:09:13 +01:00
PS_FLAG_SPECIAL_LAND = 0x00000400 ,
2022-11-25 16:16:13 +01:00
/* Burning from touching a fire hazard of some kind */
2023-01-12 03:09:13 +01:00
PS_FLAG_HIT_FIRE = 0x00000800 ,
PS_FLAG_NO_STATIC_COLLISION = 0x00001000 ,
PS_FLAG_INPUT_DISABLED = 0x00002000 ,
2022-11-25 16:16:13 +01:00
/* Indicates that Mario's lateral movement is currently commandeered by a cutscene or script */
2023-01-12 03:09:13 +01:00
PS_FLAG_CUTSCENE_MOVEMENT = 0x00004000 ,
2022-11-25 16:16:13 +01:00
/* Either outta sight with Bow, or temporarily damage boosted - makes Mario ignore fire bars */
2023-01-12 03:09:13 +01:00
PS_FLAG_HAZARD_INVINCIBILITY = 0x00008000 ,
2022-11-25 16:16:13 +01:00
/* Spinning either through pressing Z or the tornado jump - causes a ghost trail to render */
2023-01-12 03:09:13 +01:00
PS_FLAG_SPINNING = 0x00020000 ,
2022-11-25 16:16:13 +01:00
/* Slows Mario's physics and animations to half speed - responsible for the dramatic slowdown when starting an encounter by jumping on an enemy.
Also stops Mario from successfully completing a hammer . */
2023-01-12 03:09:13 +01:00
PS_FLAG_ENTERING_BATTLE = 0x00040000 ,
2022-11-25 16:16:13 +01:00
/* Occurs after hitting a heart block - temporarily prevents encounters from starting */
2023-01-12 03:09:13 +01:00
PS_FLAG_ARMS_RAISED = 0x00080000 ,
2022-11-25 16:16:13 +01:00
/* Stops Mario's sprite yaw from being adjusted, usually so a cutscene can do it instead. */
2023-01-12 03:09:13 +01:00
PS_FLAG_ROTATION_LOCKED = 0x00100000 ,
2022-11-25 16:16:13 +01:00
/* Forces Mario's sprite to either face exactly left or right, without transitioning. */
2023-01-12 03:09:13 +01:00
PS_FLAG_NO_FLIPPING = 0x00200000 ,
2022-11-25 16:16:13 +01:00
/* Prevents Mario from moving laterally */
2023-02-18 09:13:07 +01:00
PS_FLAG_MOVEMENT_LOCKED = 0x00400000 , //TODO misnamed
2022-11-25 16:16:13 +01:00
/* Stops Mario from air steering or using a special jump during a scripted fall */
2023-01-12 03:09:13 +01:00
PS_FLAG_SCRIPTED_FALL = 0x00800000 ,
2022-11-25 16:16:13 +01:00
/* Not fully sure about this one, but appears to mark the frame that the check for what to hammer occurs */
2023-01-12 03:09:13 +01:00
PS_FLAG_HAMMER_CHECK = 0x01000000 ,
PS_FLAG_HAS_CONVERSATION_NPC = 0x02000000 ,
PS_FLAG_CAMERA_DOESNT_FOLLOW = 0x04000000 ,
2022-11-25 16:16:13 +01:00
/* Mario just interacted with something (usually cleared on the same frame) */
2023-01-12 03:09:13 +01:00
PS_FLAG_INTERACTED = 0x08000000 ,
2022-11-25 16:16:13 +01:00
/* Makes Mario face forwards, used when talking to NPCs, or when on Lakilester */
2023-10-14 21:43:12 +02:00
PS_FLAG_FACE_FORWARD = 0x10000000 ,
2022-11-25 16:16:13 +01:00
/* Freezes physics and animations - is usually reset at the start of a frame so often does nothing */
2023-01-12 03:09:13 +01:00
PS_FLAG_TIME_STOPPED = 0x20000000 ,
2022-11-25 16:16:13 +01:00
/* Indicates that Mario needs his sprite redrawn */
2023-01-12 03:09:13 +01:00
PS_FLAG_SPRITE_REDRAW = 0x40000000 ,
PS_FLAG_ACTION_STATE_CHANGED = 0x80000000 ,
2021-11-11 05:30:59 +01:00
} ;
2021-04-17 13:16:13 +02:00
/// @see PlayerStatus::animFlags
2021-11-11 05:30:59 +01:00
enum PlayerStatusAnimFlags {
2022-11-25 16:16:13 +01:00
/* Whether Mario is in the process of using Watt (but isn't necessarily holding them yet) */
2023-01-12 03:09:13 +01:00
PA_FLAG_USING_WATT = 0x00000001 ,
2022-11-25 16:16:13 +01:00
/* Whether Watt is actually in Mario's hands at the moment */
2023-01-12 03:09:13 +01:00
PA_FLAG_WATT_IN_HANDS = 0x00000002 ,
PA_FLAG_INTERRUPT_USE_PARTNER = 0x00000004 , ///< forces actions with bow, parakarry, watt, and lakilester to end (sushie not tested)
PA_FLAG_FORCE_USE_PARTNER = 0x00000008 , ///< triggers partner use when set
PA_FLAG_INTERACT_PROMPT_AVAILABLE = 0x00000010 , ///< ! prompt
PA_FLAG_SPEECH_PROMPT_AVAILABLE = 0x00000020 , ///< (...) prompt
2023-03-06 08:44:48 +01:00
PA_FLAG_PULSE_STONE_VISIBLE = 0x00000040 , ///< The pulse stone icon is being shown
2023-01-12 03:09:13 +01:00
PA_FLAG_USING_PULSE_STONE = 0x00000080 ,
2023-03-06 08:44:48 +01:00
PA_FLAG_ISPY_VISIBLE = 0x00000100 , ///< The I Spy icon is being shown
2023-01-12 03:09:13 +01:00
PA_FLAG_RAISED_ARMS = 0x00000200 , ///< Sets action state to ACTION_STATE_RAISE_ARMS on idle
PA_FLAG_SHIVERING = 0x00000400 ,
PA_FLAG_OPENED_HIDDEN_PANEL = 0x00000800 ,
PA_FLAG_USING_PEACH_PHYSICS = 0x00001000 ,
2023-03-06 08:44:48 +01:00
PA_FLAG_INVISIBLE = 0x00002000 ,
2023-01-12 03:09:13 +01:00
PA_FLAG_8BIT_MARIO = 0x00004000 ,
PA_FLAG_NPC_COLLIDED = 0x00008000 ,
PA_FLAG_SPINNING = 0x00010000 ,
2022-11-25 16:16:13 +01:00
/* Began an encounter by spinning into an enemy with the Dizzy Attack badge on */
2023-01-12 03:09:13 +01:00
PA_FLAG_DIZZY_ATTACK_ENCOUNTER = 0x00020000 ,
PA_FLAG_INTERRUPT_SPIN = 0x00040000 ,
2022-11-25 16:16:13 +01:00
/* When Mario is in a transition to a new map, either through a loading zone or pipe */
2023-01-12 03:09:13 +01:00
PA_FLAG_CHANGING_MAP = 0x00100000 ,
/* Occurs after PA_FLAG_FORCE_USE_PARTNER. Some partners - namely Bow and Lakilester, unset this immediately.
2022-11-25 16:16:13 +01:00
Not sure why - seems like it might contribute to being unable to * stop * using your partner during a cutscene . */
2023-01-12 03:09:13 +01:00
PA_FLAG_PARTNER_USAGE_FORCED = 0x00200000 ,
PA_FLAG_RIDING_PARTNER = 0x00400000 ,
2023-02-08 01:47:26 +01:00
PA_FLAG_ABORT_PUSHING_BLOCK = 0x00800000 ,
2022-11-25 16:16:13 +01:00
/* Changes how Mario is rendered. Seems to be intended to make Mario's depth render properly when using Bow behind a switch (two translucent objects on top of eachother), but it doesn't actually work. */
2023-01-12 03:09:13 +01:00
PA_FLAG_MAP_HAS_SWITCH = 0x01000000 ,
2022-11-25 16:16:13 +01:00
/* Usually, if Mario falls for too long, he eventually gets reset to his last safe position. This prevents that. Used by some scripts. */
2023-01-12 03:09:13 +01:00
PA_FLAG_NO_OOB_RESPAWN = 0x10000000 ,
2022-11-25 16:16:13 +01:00
/* This allows dismounting from Lakilester, even if in a precarious situation (like over spikes, lava, or water). */
2023-01-12 03:09:13 +01:00
PA_FLAG_DISMOUNTING_ALLOWED = 0x20000000 ,
2022-11-25 16:16:13 +01:00
/* This flag is set when partner usage was interrupted by a script, and it prevents menu sounds (like the error sound) from playing for script-initiated player actions */
2023-03-16 07:41:26 +01:00
PA_FLAG_FORCED_PARTNER_ABILITY_END = 0x40000000 ,
2022-11-25 16:16:13 +01:00
/* This one's really weird. Seems to have something to do with the direction Mario is facing, but I'm not sure what it's actually supposed to be achieving. */
2023-01-12 03:09:13 +01:00
PA_FLAG_80000000 = 0x80000000 ,
2021-04-17 13:16:13 +02:00
} ;
2022-04-08 21:10:12 +02:00
enum PopupType {
POPUP_MENU_USE_ITEM = 0x0 ,
POPUP_MENU_SWITCH_PARTNER = 0x1 ,
POPUP_MENU_THROW_AWAY_ITEM = 0x2 ,
POPUP_MENU_TRADE_FOR_BADGE = 0x3 ,
POPUP_MENU_UPGRADE_PARTNER = 0x4 ,
POPUP_MENU_SELL_ITEM = 0x5 ,
POPUP_MENU_CHECK_ITEM = 0x6 ,
POPUP_MENU_CLAIM_ITEM = 0x7 ,
POPUP_MENU_READ_LETTER = 0x8 ,
POPUP_MENU_TAKE_FROM_CHEST = 0x9 ,
POPUP_MENU_READ_DIARY_PAGE = 0xA ,
POPUP_MENU_READ_POSTCARD = 0xB ,
2022-10-04 16:09:23 +02:00
POPUP_MENU_USEKEY = 0xC ,
2022-12-12 13:31:29 +01:00
POPUP_MENU_POST_OFFICE = 0xD ,
2023-01-15 10:22:41 +01:00
POPUP_MENU_DOUBLE_DIP = 100 ,
POPUP_MENU_TRIPLE_DIP = 200 ,
2022-04-08 21:10:12 +02:00
} ;
2023-02-25 09:30:02 +01:00
enum PopupState {
POPUP_STATE_INIT = 0 ,
POPUP_STATE_CHOOSING = 1 ,
POPUP_STATE_10 = 10 ,
POPUP_STATE_11 = 11 ,
POPUP_STATE_20 = 20 ,
POPUP_STATE_ALREADY_HAVE_PARTNER_BEGIN = 30 ,
POPUP_STATE_ALREADY_HAVE_PARTNER_SHOW = 31 ,
POPUP_STATE_ALREADY_HAVE_PARTNER_AWAIT = 32 ,
POPUP_STATE_CANCEL_DIP = 100 ,
POPUP_STATE_CANCEL_DIP_AWAIT_CHOICE = 101 ,
POPUP_STATE_CANCEL_DIP_ACCEPT = 102 ,
POPUP_STATE_CANCEL_DIP_DECLINE = 103 ,
POPUP_STATE_104 = 104 ,
POPUP_STATE_105 = 105 ,
POPUP_STATE_CHOSE_WORLD = - 1 ,
POPUP_STATE_CHOSE_BATTLE = - 2 ,
POPUP_STATE_MINUS_3 = - 3 ,
POPUP_STATE_MINUS_4 = - 4 ,
POPUP_STATE_MINUS_5 = - 5 ,
2023-10-22 14:39:20 +02:00
POPUP_STATE_CHOSE_SWAP = - 6 ,
2023-02-25 09:30:02 +01:00
POPUP_STATE_MINUS_7 = - 7 ,
POPUP_STATE_MINUS_8 = - 8 ,
} ;
enum PopupResult {
2023-10-22 14:39:20 +02:00
POPUP_RESULT_INVALID = - 1 ,
POPUP_RESULT_SWAP_MENU = - 2 ,
2023-02-25 09:30:02 +01:00
POPUP_RESULT_CHOOSING = 0 ,
POPUP_RESULT_CANCEL = 255 ,
} ;
enum WindowPriority {
WINDOW_PRIORITY_0 = 0 ,
2023-03-02 03:36:11 +01:00
WINDOW_PRIORITY_1 = 1 ,
2023-02-25 09:30:02 +01:00
WINDOW_PRIORITY_10 = 10 ,
WINDOW_PRIORITY_19 = 19 ,
WINDOW_PRIORITY_20 = 20 ,
WINDOW_PRIORITY_21 = 21 ,
2023-03-02 03:36:11 +01:00
WINDOW_PRIORITY_64 = 64 ,
2023-02-25 09:30:02 +01:00
} ;
2023-07-18 11:07:58 +02:00
enum RenderModeIndex {
2023-11-24 05:06:58 +01:00
// RM1 modes
2023-07-18 11:07:58 +02:00
RENDER_MODE_IDX_00 = 0x00 ,
RENDER_MODE_IDX_01 = 0x01 ,
RENDER_MODE_IDX_02 = 0x02 ,
RENDER_MODE_IDX_03 = 0x03 ,
RENDER_MODE_IDX_04 = 0x04 ,
RENDER_MODE_IDX_05 = 0x05 ,
RENDER_MODE_IDX_06 = 0x06 ,
RENDER_MODE_IDX_07 = 0x07 ,
RENDER_MODE_IDX_08 = 0x08 ,
RENDER_MODE_IDX_09 = 0x09 ,
RENDER_MODE_IDX_0A = 0x0A ,
RENDER_MODE_IDX_0B = 0x0B ,
RENDER_MODE_IDX_0C = 0x0C ,
RENDER_MODE_IDX_0D = 0x0D ,
RENDER_MODE_IDX_0E = 0x0E ,
RENDER_MODE_IDX_0F = 0x0F ,
2023-11-24 05:06:58 +01:00
// RM2 modes
2023-07-18 11:07:58 +02:00
RENDER_MODE_IDX_10 = 0x10 ,
RENDER_MODE_IDX_11 = 0x11 ,
RENDER_MODE_IDX_12 = 0x12 ,
RENDER_MODE_IDX_13 = 0x13 ,
RENDER_MODE_IDX_14 = 0x14 ,
RENDER_MODE_IDX_15 = 0x15 ,
RENDER_MODE_IDX_16 = 0x16 ,
RENDER_MODE_IDX_17 = 0x17 ,
RENDER_MODE_IDX_18 = 0x18 ,
RENDER_MODE_IDX_19 = 0x19 ,
RENDER_MODE_IDX_1A = 0x1A ,
RENDER_MODE_IDX_1B = 0x1B ,
RENDER_MODE_IDX_1C = 0x1C ,
RENDER_MODE_IDX_1D = 0x1D ,
RENDER_MODE_IDX_1E = 0x1E ,
2023-11-24 05:06:58 +01:00
// RM3 modes
2023-07-18 11:07:58 +02:00
RENDER_MODE_IDX_1F = 0x1F ,
RENDER_MODE_IDX_20 = 0x20 ,
RENDER_MODE_IDX_21 = 0x21 ,
RENDER_MODE_IDX_22 = 0x22 ,
RENDER_MODE_IDX_23 = 0x23 ,
RENDER_MODE_IDX_24 = 0x24 ,
RENDER_MODE_IDX_25 = 0x25 ,
RENDER_MODE_IDX_26 = 0x26 ,
RENDER_MODE_IDX_27 = 0x27 ,
RENDER_MODE_IDX_28 = 0x28 ,
RENDER_MODE_IDX_29 = 0x29 ,
RENDER_MODE_IDX_2A = 0x2A ,
RENDER_MODE_IDX_2B = 0x2B ,
RENDER_MODE_IDX_2C = 0x2C ,
RENDER_MODE_IDX_2D = 0x2D ,
RENDER_MODE_IDX_2E = 0x2E ,
RENDER_MODE_IDX_2F = 0x2F ,
RENDER_MODE_IDX_30 = 0x30 ,
RENDER_MODE_IDX_31 = 0x31 ,
RENDER_MODE_IDX_32 = 0x32 ,
RENDER_MODE_IDX_33 = 0x33 ,
RENDER_MODE_IDX_34 = 0x34 ,
RENDER_MODE_IDX_35 = 0x35 ,
RENDER_MODE_IDX_36 = 0x36 ,
2023-11-24 05:06:58 +01:00
// cloud render modes
2023-07-18 11:07:58 +02:00
RENDER_MODE_IDX_37 = 0x37 ,
RENDER_MODE_IDX_38 = 0x38 ,
RENDER_MODE_IDX_39 = 0x39 ,
RENDER_MODE_IDX_3A = 0x3A ,
RENDER_MODE_IDX_3B = 0x3B ,
RENDER_MODE_IDX_3C = 0x3C ,
} ;
2023-11-24 05:06:58 +01:00
// predefined configurations for RDP geometry and render modes
// though these are called "render modes", they do not strictly correspond to the RDP render modes (as supplied to gDPSetRenderMode)
2021-04-22 05:19:31 +02:00
enum RenderMode {
2023-11-24 05:06:58 +01:00
// opaque render modes
RENDER_MODE_SURF_SOLID_AA_ZB_LAYER0 = 0x00 ,
RENDER_MODE_SURFACE_OPA = 0x01 ,
RENDER_MODE_02_UNUSED = 0x02 ,
RENDER_MODE_SURFACE_OPA_NO_AA = 0x03 ,
RENDER_MODE_SURFACE_OPA_NO_ZB = 0x04 ,
RENDER_MODE_DECAL_OPA = 0x05 ,
RENDER_MODE_06_UNUSED = 0x06 ,
RENDER_MODE_DECAL_OPA_NO_AA = 0x07 ,
RENDER_MODE_08_UNUSED = 0x08 ,
RENDER_MODE_INTERSECTING_OPA = 0x09 ,
RENDER_MODE_0A_UNUSED = 0x0A ,
RENDER_MODE_0B_UNUSED = 0x0B ,
RENDER_MODE_0C_UNUSED = 0x0C ,
RENDER_MODE_ALPHATEST = 0x0D ,
RENDER_MODE_0E_UNUSED = 0x0E ,
RENDER_MODE_ALPHATEST_ONESIDED = 0x0F ,
RENDER_MODE_ALPHATEST_NO_ZB = 0x10 ,
RENDER_MODES_LAST_OPAQUE = RENDER_MODE_ALPHATEST_NO_ZB ,
// translucent render modes
RENDER_MODE_SURFACE_XLU_LAYER1 = 0x11 ,
RENDER_MODE_12_UNUSED = 0x12 ,
RENDER_MODE_SURFACE_XLU_NO_AA = 0x13 ,
RENDER_MODE_SURFACE_XLU_NO_ZB = 0x14 ,
RENDER_MODE_SURFACE_XLU_ZB_ZUPD = 0x15 ,
RENDER_MODE_SURFACE_XLU_LAYER2 = 0x16 ,
RENDER_MODE_17_UNUSED = 0x17 ,
RENDER_MODE_18_UNUSED = 0x18 ,
RENDER_MODE_19_UNUSED = 0x19 ,
RENDER_MODE_DECAL_XLU = 0x1A ,
RENDER_MODE_1B_UNUSED = 0x1B ,
RENDER_MODE_DECAL_XLU_NO_AA = 0x1C ,
RENDER_MODE_1D_UNUSED = 0x1D ,
RENDER_MODE_DECAL_XLU_AHEAD = 0x1E , // special case RENDER_MODE_DECAL_XLU for rendering in front of others
RENDER_MODE_1F_UNUSED = 0x1F ,
RENDER_MODE_SHADOW = 0x20 ,
RENDER_MODE_21_UNUSED = 0x21 ,
RENDER_MODE_SURFACE_XLU_LAYER3 = 0x22 ,
RENDER_MODE_23_UNUSED = 0x23 ,
RENDER_MODE_24_UNUSED = 0x24 ,
RENDER_MODE_25_UNUSED = 0x25 ,
RENDER_MODE_INTERSECTING_XLU = 0x26 ,
RENDER_MODE_27_UNUSED = 0x27 ,
// unusual render modes
RENDER_MODE_PASS_THROUGH = 0x28 , // no render mode is set, only geometry modes are initialized
RENDER_MODE_SURFACE_XLU_AA_ZB_ZUPD = 0x29 ,
RENDER_MODE_SURFACE_OPA_NO_ZB_BEHIND = 0x2A ,
RENDER_MODE_ALPHATEST_NO_ZB_BEHIND = 0x2B ,
RENDER_MODE_SURFACE_XLU_NO_ZB_BEHIND = 0x2C ,
RENDER_MODE_CLOUD_NO_ZCMP = 0x2D ,
RENDER_MODE_CLOUD = 0x2E ,
RENDER_MODE_CLOUD_NO_ZB = 0x2F ,
2022-07-17 18:38:19 +02:00
} ;
enum RenderTaskFlags {
2023-01-25 03:33:20 +01:00
RENDER_TASK_FLAG_ENABLED = 0x01 ,
RENDER_TASK_FLAG_REFLECT_FLOOR = 0x02 ,
RENDER_TASK_FLAG_20 = 0x20 ,
2021-04-22 05:19:31 +02:00
} ;
2023-10-14 21:43:12 +02:00
// same as ActorPartFlags, kept separate for clarity
2021-04-28 10:58:21 +02:00
enum ActorFlags {
2023-10-14 21:43:12 +02:00
ACTOR_FLAG_INVISIBLE = 0x00000001 , ///< Actor is not rendered.
ACTOR_FLAG_NO_SHADOW = 0x00000004 , ///< Hide shadow.
ACTOR_FLAG_LOW_PRIORITY_TARGET = 0x00000010 , // only usable with ACTOR_FLAG_TARGET_ONLY, treats the target's sort position as off-stage to the right
ACTOR_FLAG_MINOR_TARGET = 0x00000040 , // ignored by moves using TARGET_FLAG_PRIMARY_ONLY (unused)
ACTOR_FLAG_NO_TATTLE = 0x00000080 ,
ACTOR_FLAG_FLYING = 0x00000200 , ///< Quake Hammer can't hit.
ACTOR_FLAG_FLIPPED = 0x00000400 , ///< Actor has been flipped over.
ACTOR_FLAG_UPSIDE_DOWN = 0x00000800 , ///< HP bar offset below actor (e.g. Swooper when upside-down).
ACTOR_FLAG_TYPE_CHANGED = 0x00001000 , ///< Indicates actors type has changed, triggers recheck for if HP bar should be shown based on tattle status.
ACTOR_FLAG_DAMAGE_IMMUNE = 0x00002000 , // prevents hits from items, chill out, and up & away
ACTOR_FLAG_TARGET_ONLY = 0x00004000 , ///< Battle ends even if undefeated. No turn.
ACTOR_FLAG_HALF_HEIGHT = 0x00008000 ,
ACTOR_FLAG_SKIP_TURN = 0x00010000 ,
ACTOR_FLAG_NO_HEALTH_BAR = 0x00040000 , // Health bar is not shown for this actor type
ACTOR_FLAG_HEALTH_BAR_HIDDEN = 0x00080000 , // Health bar is temporarily hidden
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_USING_IDLE_ANIM = 0x04000000 ,
ACTOR_FLAG_SHOW_STATUS_ICONS = 0x08000000 ,
ACTOR_FLAG_BLUR_ENABLED = 0x10000000 ,
ACTOR_FLAG_NO_INACTIVE_ANIM = 0x20000000 , // only used for player Actor
} ;
// same as ActorFlags, kept separate for clarity
2021-04-28 10:58:21 +02:00
enum ActorPartFlags {
2022-08-17 03:04:23 +02:00
ACTOR_PART_FLAG_INVISIBLE = 0x00000001 ,
2023-10-14 21:43:12 +02:00
ACTOR_PART_FLAG_NO_DECORATIONS = 0x00000002 ,
ACTOR_PART_FLAG_NO_SHADOW = 0x00000004 ,
ACTOR_PART_FLAG_DEFAULT_TARGET = 0x00000008 , // Part will be the default selected target for player.
ACTOR_PART_FLAG_IGNORE_BELOW_CHECK = 0x00000020 , // ignore below check while targeting
ACTOR_PART_FLAG_MINOR_TARGET = 0x00000040 , // ignored by moves using TARGET_FLAG_PRIMARY_ONLY (unused)
ACTOR_PART_FLAG_NO_TATTLE = 0x00000080 ,
2023-08-12 23:08:33 +02:00
ACTOR_PART_FLAG_TRANSPARENT = 0x00000100 ,
2023-10-14 21:43:12 +02:00
ACTOR_PART_FLAG_DAMAGE_IMMUNE = 0x00002000 , ///< electrified Plays extra hurt SFX?
ACTOR_PART_FLAG_TARGET_ONLY = 0x00004000 , // Has no effect on ActorPart. Use the ACTOR_FLAG on Actor instead.
2022-08-17 03:04:23 +02:00
ACTOR_PART_FLAG_NO_TARGET = 0x00020000 , ///< Cannot be targeted.
ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION = 0x00100000 ,
2023-10-14 21:43:12 +02:00
ACTOR_PART_FLAG_PRIMARY_TARGET = 0x00800000 , // Multi-target attacks will target this part of an Actor with multiple parts.
2023-10-02 02:12:53 +02:00
ACTOR_PART_FLAG_HAS_PAL_EFFECT = 0x01000000 ,
2023-10-14 21:43:12 +02:00
ACTOR_PART_FLAG_NO_STATUS_ANIMS = 0x20000000 , // Do not update idle animation based on Actor status
ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT = 0x40000000 , // Do not apply a shock effect to this ActorPart when its Actor is shocked
ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC = 0x80000000 , // Do not allocate ActorPartMovement for this ActorPart
2021-04-28 10:58:21 +02:00
} ;
enum ActorEventFlags {
2023-05-23 14:57:34 +02:00
ACTOR_EVENT_FLAGS_NONE = 0x00000000 ,
2023-02-15 09:18:27 +01:00
ACTOR_EVENT_FLAG_FIREY = 0x00000002 , ///< Player takes burn damage upon contact.
ACTOR_EVENT_FLAG_ICY = 0x00000008 , ///< No known effect, but is used.
ACTOR_EVENT_FLAG_SPIKY_TOP = 0x00000010 , ///< Player takes spike damage from jump attacks.
ACTOR_EVENT_FLAG_ILLUSORY = 0x00000020 , ///< Player attacks pass through and miss.
ACTOR_EVENT_FLAG_ELECTRIFIED = 0x00000080 , ///< Player takes shock damage upon contact.
2023-10-14 21:43:12 +02:00
ACTOR_EVENT_FLAG_MONSTAR = 0x00000100 , ///< Set by Monstar, but has no effect
2023-02-15 09:18:27 +01:00
ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION = 0x00000200 , ///< Blast and fire attacks trigger an explosion.
2023-02-21 16:10:03 +01:00
ACTOR_EVENT_FLAG_FIRE_EXPLODE = 0x00000400 , ///< Fire attacks trigger an explosion, used only by bullet/bombshell bills.
2023-10-14 21:43:12 +02:00
ACTOR_EVENT_FLAG_BURIED = 0x00000800 , ///< Actor can only by hit by quake-element attacks.
2023-02-15 09:18:27 +01:00
ACTOR_EVENT_FLAG_FLIPABLE = 0x00001000 , ///< Actor can be flipped; triggered by jump and quake attacks.
2023-10-14 21:43:12 +02:00
ACTOR_EVENT_FLAG_EXTREME_DEFENSE = 0x00002000 , ///< Actor has 127 extra defense during damage calculation, unaffected by IGNORE_DEFENSE.
2023-02-15 09:18:27 +01:00
ACTOR_EVENT_FLAG_GROUNDABLE = 0x00004000 , ///< Actor can be knocked down from flight; triggered by jump attacks.
2023-10-14 21:43:12 +02:00
ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT = 0x00008000 , ///< Attacks that contact will trigger an explosion.
2023-02-15 09:18:27 +01:00
ACTOR_EVENT_FLAG_SPIKY_FRONT = 0x00010000 , ///< Player takes spike damage from hammer attacks.
ACTOR_EVENT_FLAG_ENCHANTED = 0x00040000 , ///< Actor glows and listens for the Star Beam event.
2023-02-21 16:10:03 +01:00
ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED = 0x00080000 , ///< Actor glows and listens for Star Beam and Peach Beam events.
2023-02-15 09:18:27 +01:00
ACTOR_EVENT_FLAG_POWER_BOUNCE = 0x00100000 , ///< Actor listens for Power Bounce events.
2023-10-14 21:43:12 +02:00
ACTOR_EVENT_FLAG_ALT_SPIKY = 0x00200000 , ///< Additional spiky quality associated with Pokeys and Spinies
2023-02-21 16:10:03 +01:00
ACTOR_EVENT_FLAG_ATTACK_CHARGED = 0x00400000 , ///< Actor has charged an attack that can be removed with Star Beam.
ACTOR_EVENT_FLAG_RIDING_BROOMSTICK = 0x00800000 , ///< Actor is on Magikoopa Broomstick, effect seems to be redundant.
2021-04-28 10:58:21 +02:00
} ;
2023-08-12 23:08:33 +02:00
enum PartnerWishAnims {
PARTNER_WISH_ANIM_WALK = 0 ,
PARTNER_WISH_ANIM_PRAY = 1 ,
PARTNER_WISH_ANIM_UNUSED = 2 ,
PARTNER_WISH_ANIM_RETURN = 3 ,
PARTNER_WISH_ANIM_IDLE = 4 ,
} ;
2022-04-12 08:01:58 +02:00
enum PartnerAnimIndices {
PARTNER_ANIM_INDEX_STILL = 0x0 ,
PARTNER_ANIM_INDEX_WALK = 0x1 ,
PARTNER_ANIM_INDEX_JUMP = 0x2 ,
PARTNER_ANIM_INDEX_FALL = 0x3 ,
PARTNER_ANIM_INDEX_FLY = 0x4 ,
PARTNER_ANIM_INDEX_IDLE = 0x5 ,
PARTNER_ANIM_INDEX_RUN = 0x6 ,
PARTNER_ANIM_INDEX_TALK = 0x7 ,
PARTNER_ANIM_INDEX_HURT = 0x8 ,
} ;
enum AnyPartnerAnims {
2023-01-25 03:33:20 +01:00
PARTNER_ANIM_STILL = 0x101 ,
PARTNER_ANIM_WALK = 0x102 ,
PARTNER_ANIM_JUMP = 0x103 ,
PARTNER_ANIM_FALL = 0x104 ,
PARTNER_ANIM_FLY = 0x105 ,
PARTNER_ANIM_IDLE = 0x106 ,
PARTNER_ANIM_RUN = 0x107 ,
PARTNER_ANIM_TALK = 0x108 ,
PARTNER_ANIM_HURT = 0x109 ,
2021-06-21 06:30:57 +02:00
} ;
2022-10-17 09:46:24 +02:00
enum EnemyAnimIndices {
ENEMY_ANIM_INDEX_IDLE = 0 ,
ENEMY_ANIM_INDEX_WALK = 1 ,
ENEMY_ANIM_INDEX_RUN = 2 ,
ENEMY_ANIM_INDEX_CHASE = 3 ,
ENEMY_ANIM_INDEX_JUMP = 4 ,
ENEMY_ANIM_INDEX_05 = 5 ,
ENEMY_ANIM_INDEX_DEATH = 6 ,
ENEMY_ANIM_INDEX_HIT = 7 ,
ENEMY_ANIM_INDEX_MELEE_PRE = 8 ,
ENEMY_ANIM_INDEX_MELEE_HIT = 9 ,
} ;
enum AnyEnemyAnims {
ENEMY_ANIM_IDLE = 0x201 ,
ENEMY_ANIM_WALK = 0x202 ,
ENEMY_ANIM_RUN = 0x203 ,
ENEMY_ANIM_CHASE = 0x204 ,
ENEMY_ANIM_JUMP = 0x205 ,
ENEMY_ANIM_5 = 0x206 ,
ENEMY_ANIM_DEATH = 0x207 ,
ENEMY_ANIM_HIT = 0x208 ,
ENEMY_ANIM_8 = 0x209 ,
ENEMY_ANIM_9 = 0x20A ,
ENEMY_ANIM_A = 0x20B ,
ENEMY_ANIM_B = 0x20C ,
ENEMY_ANIM_C = 0x20D ,
ENEMY_ANIM_D = 0x20E ,
ENEMY_ANIM_E = 0x20F ,
ENEMY_ANIM_F = 0x210 ,
} ;
2024-10-08 05:15:38 +02:00
enum FirstStrikeType {
2023-01-15 10:22:41 +01:00
FIRST_STRIKE_NONE = 0 ,
FIRST_STRIKE_PLAYER = 1 ,
FIRST_STRIKE_ENEMY = 2 ,
2021-07-31 16:32:19 +02:00
} ;
2021-07-24 18:34:55 +02:00
enum TimeFreezeMode {
2024-10-08 05:15:38 +02:00
TIME_FREEZE_NONE = 0 ,
2023-01-15 10:22:41 +01:00
TIME_FREEZE_PARTIAL = 1 ,
TIME_FREEZE_FULL = 2 ,
TIME_FREEZE_POPUP_MENU = 3 ,
TIME_FREEZE_EXIT = 4 ,
2021-07-24 18:34:55 +02:00
} ;
2021-08-16 20:31:45 +02:00
enum ActionCommand {
2022-02-24 16:12:33 +01:00
ACTION_COMMAND_NONE = 0x00000000 ,
2021-11-11 05:30:59 +01:00
ACTION_COMMAND_JUMP = 0x00000001 ,
ACTION_COMMAND_SMASH = 0x00000002 ,
ACTION_COMMAND_FLEE = 0x00000003 ,
ACTION_COMMAND_BREAK_FREE = 0x00000004 ,
ACTION_COMMAND_WHIRLWIND = 0x00000005 ,
ACTION_COMMAND_STOP_LEECH = 0x00000006 ,
2024-10-23 07:44:44 +02:00
ACTION_COMMAND_UNUSED_FLEE = 0x00000007 ,
2021-11-11 05:30:59 +01:00
ACTION_COMMAND_DIZZY_SHELL = 0x00000008 ,
ACTION_COMMAND_FIRE_SHELL = 0x00000009 ,
2024-10-23 07:44:44 +02:00
ACTION_COMMAND_UNUSED_MASH_A = 0x0000000A ,
2021-11-11 05:30:59 +01:00
ACTION_COMMAND_BOMB = 0x0000000B ,
ACTION_COMMAND_BODY_SLAM = 0x0000000C ,
ACTION_COMMAND_AIR_LIFT = 0x0000000D ,
ACTION_COMMAND_AIR_RAID = 0x0000000E ,
ACTION_COMMAND_SQUIRT = 0x0000000F ,
ACTION_COMMAND_POWER_SHOCK = 0x00000010 ,
ACTION_COMMAND_MEGA_SHOCK = 0x00000011 ,
ACTION_COMMAND_SMACK = 0x00000012 ,
ACTION_COMMAND_SPINY_SURGE = 0x00000013 ,
ACTION_COMMAND_HURRICANE = 0x00000014 ,
ACTION_COMMAND_SPOOK = 0x00000015 ,
2024-10-23 07:44:44 +02:00
ACTION_COMMAND_THREE_CHANCES = 0x00000016 ,
2021-11-11 05:30:59 +01:00
ACTION_COMMAND_TIDAL_WAVE = 0x00000017 ,
2021-08-16 20:31:45 +02:00
} ;
2022-09-13 08:26:57 +02:00
enum HazardType {
HAZARD_TYPE_NONE = 0 ,
HAZARD_TYPE_LAVA = 1 ,
HAZARD_TYPE_SPIKES = 2 ,
HAZARD_TYPE_FIRE_BAR = 3 ,
} ;
2023-05-01 09:22:52 +02:00
enum DamageIntensityRange {
DAMAGE_INTENSITY_LIGHT = 0 , // 0-3
DAMAGE_INTENSITY_MEDIUM = 1 , // 4-6
DAMAGE_INTENSITY_HEAVY = 2 , // 7-9
DAMAGE_INTENSITY_EXTREME = 3 , // 10+
DAMAGE_INTENSITY_UNUSED = 4 , // unused
} ;
2023-05-09 05:46:47 +02:00
enum EffectInstanceFlags {
FX_INSTANCE_FLAG_ENABLED = 0x00000001 ,
FX_INSTANCE_FLAG_BATTLE = 0x00000004 , // effect was created during battle
FX_INSTANCE_FLAG_HAS_UPDATED = 0x00000008 , // has run update at least once
FX_INSTANCE_FLAG_DISMISS = 0x00000010 , // effect should perform cleanup and self-delete
} ;
2024-10-23 07:44:44 +02:00
enum EffectSharedDataFlags {
FX_SHARED_DATA_LOADED = 0x00000001 ,
FX_SHARED_DATA_CAN_FREE = 0x00000002 ,
2021-08-16 20:14:58 +02:00
} ;
2023-08-03 05:44:30 +02:00
# include "move_enum.h"
2023-01-15 10:22:41 +01:00
2024-10-01 04:50:46 +02:00
enum GameContext {
CONTEXT_WORLD = 0 ,
CONTEXT_BATTLE = 1 ,
CONTEXT_PAUSE = 2 ,
} ;
2022-10-01 03:44:48 +02:00
enum DemoState {
DEMO_STATE_NONE = 0 ,
DEMO_STATE_ACTIVE = 1 ,
DEMO_STATE_CHANGE_MAP = 2 ,
2023-04-26 01:33:17 +02:00
DEMO_STATE_4 = 4 ,
DEMO_STATE_DONE = 5 ,
2022-10-01 03:44:48 +02:00
} ;
2023-08-12 23:08:33 +02:00
enum DemoFlags {
DEMO_BTL_FLAG_ENABLED = 0x01 ,
DEMO_BTL_FLAG_PARTNER_ACTING = 0x02 ,
DEMO_BTL_FLAG_ENEMY_ACTING = 0x04 ,
DEMO_BTL_FLAG_10 = 0x10 ,
DEMO_BTL_FLAG_20 = 0x20 ,
DEMO_BTL_FLAG_40 = 0x40 ,
} ;
2023-10-14 21:43:12 +02:00
enum IntroParts {
INTRO_PART_0 = 0 ,
INTRO_PART_1 = 1 ,
INTRO_PART_5 = 5 ,
INTRO_PART_100 = 100 ,
INTRO_PART_NONE = - 1 ,
} ;
2022-10-01 03:44:48 +02:00
enum MapLoadType {
LOAD_FROM_MAP = 0 ,
LOAD_FROM_FILE_SELECT = 1 ,
} ;
2021-10-25 12:28:45 +02:00
enum BattleStatusFlags1 {
2023-01-15 10:22:41 +01:00
BS_FLAGS1_ACTORS_VISIBLE = 0x00000001 ,
BS_FLAGS1_MENU_OPEN = 0x00000002 ,
2023-05-20 19:26:11 +02:00
BS_FLAGS1_TATTLE_OPEN = 0x00000004 ,
BS_FLAGS1_SHOW_PLAYER_DECORATIONS = 0x00000008 , // enables effects for Frozen, Water Block, and Cloud Nine to appear and follow the player
2023-10-22 14:39:20 +02:00
// Enables attack bonuses like Power Plus and Merlee ATK boost.
// Almost always used with TestTarget functions when not called with DAMAGE_TYPE_TRIGGER_LUCKY.
BS_FLAGS1_INCLUDE_POWER_UPS = 0x00000010 ,
// Current hit may trigger special events on the target (other than hit/death/immune)
// These include FLIP_TRIGGER, FALL_TRIGGER, BURN_HIT, SPIN_SMASH_HIT, etc.
// This has no bearing on contact hazard events which affect the attacker like SPIKE_CONTACT or BURN_CONTACT.
BS_FLAGS1_TRIGGER_EVENTS = 0x00000020 ,
BS_FLAGS1_NICE_HIT = 0x00000040 ,
BS_FLAGS1_NO_RATING = 0x00000080 , // prevents 'Nice!' or 'Super!' messages from appearing
2023-09-23 07:57:29 +02:00
BS_FLAGS1_EXECUTING_MOVE = 0x00000100 ,
2023-10-22 14:39:20 +02:00
BS_FLAGS1_SUPER_HIT = 0x00000200 , // only works for partners and items, NOT player hits
BS_FLAGS1_FORCE_IMMUNE_HIT = 0x00000800 ,
2023-01-15 10:22:41 +01:00
BS_FLAGS1_AUTO_SUCCEED_ACTION = 0x00001000 ,
BS_FLAGS1_2000 = 0x00002000 ,
BS_FLAGS1_4000 = 0x00004000 ,
2023-10-22 14:39:20 +02:00
BS_FLAGS1_FREE_ACTION_COMMAND = 0x00008000 ,
2023-01-15 10:22:41 +01:00
BS_FLAGS1_10000 = 0x00010000 ,
BS_FLAGS1_DISABLE_CELEBRATION = 0x00020000 ,
BS_FLAGS1_BATTLE_FLED = 0x00040000 , // used both when the player flees sucessfully or an enemy flees
BS_FLAGS1_PARTNER_ACTING = 0x00080000 ,
BS_FLAGS1_PLAYER_IN_BACK = 0x00100000 ,
2023-05-20 19:26:11 +02:00
BS_FLAGS1_YIELD_TURN = 0x00200000 , // moves end either when their script is finished or this flag is set by calling YieldTurn
2023-01-15 10:22:41 +01:00
BS_FLAGS1_PLAYER_DEFENDING = 0x00400000 ,
BS_FLAGS1_NO_GAME_OVER = 0x00800000 , // don’ t game over on loss
BS_FLAGS1_STAR_POINTS_DROPPED = 0x01000000 ,
BS_FLAGS1_TUTORIAL_BATTLE = 0x02000000 , // prevent player from swapping to/from partner
BS_FLAGS1_HUSTLED = 0x04000000 ,
BS_FLAGS1_SORT_ENEMIES_BY_POSX = 0x08000000 , // enemy turn order ignores priority; sorts bases on x position instead
BS_FLAGS1_HAMMER_CHARGED = 0x10000000 ,
BS_FLAGS1_JUMP_CHARGED = 0x20000000 ,
2023-05-20 19:26:11 +02:00
BS_FLAGS1_GOOMBARIO_CHARGED = 0x40000000 ,
2023-01-15 10:22:41 +01:00
BS_FLAGS1_ATK_BLOCKED = 0x80000000 ,
2021-10-25 12:28:45 +02:00
} ;
enum BattleStatusFlags2 {
2023-10-14 21:43:12 +02:00
BS_FLAGS2_AWARDING_STAR_POINTS = 0x00000001 , // star points move to the center of the screen
BS_FLAGS2_PLAYER_TURN_USED = 0x00000002 , // set after player has used their action for this turn
BS_FLAGS2_PARTNER_TURN_USED = 0x00000004 , // set after partner has used their action for this turn
2023-10-22 14:39:20 +02:00
BS_FLAGS2_OVERRIDE_INACTIVE_PLAYER = 0x00000008 , // override inactive player animations and effects
BS_FLAGS2_OVERRIDE_INACTIVE_PARTNER = 0x00000010 , // override inactive partner animations and effects
2023-01-15 10:22:41 +01:00
BS_FLAGS2_CANT_FLEE = 0x00000020 ,
BS_FLAGS2_PEACH_BATTLE = 0x00000040 ,
2023-10-14 21:43:12 +02:00
BS_FLAGS2_STORED_TURBO_CHARGE_TURN = 0x00000100 , // prevents turbo charge turns from decrementing on begin player turn
BS_FLAGS2_DOING_JUMP_TUTORIAL = 0x00000200 ,
2023-10-22 14:39:20 +02:00
BS_FLAGS2_FINAL_BOWSER_PART_1 = 0x00000400 , // no other use for this flag, purpose unknown
2023-01-15 10:22:41 +01:00
BS_FLAGS2_NO_TARGET_AVAILABLE = 0x00001000 ,
2023-10-14 21:43:12 +02:00
BS_FLAGS2_IGNORE_DARKNESS = 0x00004000 ,
2023-10-22 14:39:20 +02:00
BS_FLAGS2_HIDE_BUFF_COUNTERS = 0x00010000 , // hide turn counters for partner buffs (Cloud Nine, Water Block, etc)
2023-10-14 21:43:12 +02:00
BS_FLAGS2_NO_PLAYER_PAL_ADJUST = 0x00100000 ,
BS_FLAGS2_IS_FIRST_STRIKE = 0x01000000 ,
2023-01-15 10:22:41 +01:00
BS_FLAGS2_DONT_STOP_MUSIC = 0x02000000 , // don't stop playing the current song when the battle ends
BS_FLAGS2_HAS_DRAINED_HP = 0x04000000 ,
BS_FLAGS2_HAS_RUSH = 0x08000000 ,
BS_FLAGS2_DROP_WHACKA_BUMP = 0x10000000 ,
2021-11-17 15:43:50 +01:00
} ;
2023-01-25 03:33:20 +01:00
enum BattleStatusReflectionFlags {
BS_REFLECT_FLOOR = 1 ,
} ;
2022-03-10 10:55:38 +01:00
enum BattleStates {
2023-01-15 10:22:41 +01:00
BATTLE_STATE_NEGATIVE_1 = - 1 ,
BATTLE_STATE_0 = 0 ,
BATTLE_STATE_NORMAL_START = 1 ,
BATTLE_STATE_FIRST_STRIKE = 2 ,
BATTLE_STATE_PARTNER_FIRST_STRIKE = 3 ,
BATTLE_STATE_ENEMY_FIRST_STRIKE = 4 ,
BATTLE_STATE_BEGIN_TURN = 5 ,
BATTLE_STATE_END_TURN = 6 ,
BATTLE_STATE_BEGIN_PLAYER_TURN = 7 ,
BATTLE_STATE_BEGIN_PARTNER_TURN = 8 ,
BATTLE_STATE_9 = 9 , // can be reached from BATTLE_STATE_PARTNER_MOVE if partner == NULL
BATTLE_STATE_SWITCH_TO_PLAYER = 10 ,
BATTLE_STATE_SWITCH_TO_PARTNER = 11 ,
BATTLE_STATE_PREPARE_MENU = 12 ,
BATTLE_STATE_PLAYER_MENU = 13 ,
BATTLE_STATE_PARTNER_MENU = 14 ,
BATTLE_STATE_PEACH_MENU = 15 ,
BATTLE_STATE_TWINK_MENU = 16 ,
BATTLE_STATE_SELECT_TARGET = 17 ,
BATTLE_STATE_PLAYER_MOVE = 18 ,
BATTLE_STATE_PARTNER_MOVE = 19 ,
BATTLE_STATE_NEXT_ENEMY = 20 ,
BATTLE_STATE_ENEMY_MOVE = 21 ,
BATTLE_STATE_END_PLAYER_TURN = 22 ,
BATTLE_STATE_END_PARTNER_TURN = 23 ,
BATTLE_STATE_RUN_AWAY = 24 ,
BATTLE_STATE_DEFEND = 25 ,
BATTLE_STATE_VICTORY = 26 ,
BATTLE_STATE_DEFEAT = 27 ,
BATTLE_STATE_28 = 28 ,
BATTLE_STATE_CHANGE_PARTNER = 29 ,
BATTLE_STATE_END_TRAINING_BATTLE = 30 ,
BATTLE_STATE_31 = 31 ,
BATTLE_STATE_END_BATTLE = 32 ,
BATTLE_STATE_CELEBRATION = 33 ,
BATTLE_STATE_34 = 34 ,
BATTLE_STATE_END_DEMO_BATTLE = 35 ,
2022-03-10 10:55:38 +01:00
} ;
2022-11-16 10:46:50 +01:00
enum BattleSubStates {
2023-01-10 07:33:09 +01:00
// shared
BTL_SUBSTATE_INIT = 0 ,
// BATTLE_STATE_NORMAL_START
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_NORMAL_START_INIT = 0 , // loads assets, initializes state, and runs OnBattleInit script
BTL_SUBSTATE_NORMAL_START_CREATE_ENEMIES = 1 ,
BTL_SUBSTATE_NORMAL_START_CHECK_FIRST_STRIKE = 4 , // wait for actor scripts to finish
BTL_SUBSTATE_NORMAL_START_FADE_IN = 7 ,
BTL_SUBSTATE_NORMAL_START_DONE = 8 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_FIRST_STRIKE
2023-01-11 09:38:04 +01:00
BTL_SUBSTATE_FIRST_STRIKE_INIT = 0 ,
BTL_SUBSTATE_FIRST_STRIKE_AWAIT_ENEMY_READY = 1 ,
BTL_SUBSTATE_FIRST_STRIKE_AWAIT_SCRIPTS = 2 ,
BTL_SUBSTATE_FIRST_STRIKE_AWAIT_ENEMY_DONE = 3 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_PARTNER_FIRST_STRIKE
2023-01-11 09:38:04 +01:00
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_INIT = 0 ,
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_ENEMY_READY = 1 ,
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_SCRIPTS = 2 ,
BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_ENEMY_DONE = 3 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_ENEMY_FIRST_STRIKE
2023-01-11 09:38:04 +01:00
BTL_SUBSTATE_ENEMY_FIRST_STRIKE_INIT = 0 ,
BTL_SUBSTATE_ENEMY_FIRST_STRIKE_AWAIT_SCRIPTS = 2 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_BEGIN_TURN
BTL_SUBSTATE_BEGIN_TURN_INIT = 0 ,
BTL_SUBSTATE_BEGIN_TURN_AWAIT_ENEMY_SCRIPTS = 5 ,
BTL_SUBSTATE_BEGIN_TURN_AWAIT_ENEMY_DEATH = 10 ,
// BATTLE_STATE_END_TURN
BTL_SUBSTATE_END_TURN_INIT = 0 ,
BTL_SUBSTATE_END_TURN_CHECK_FOR_SWAP = 1 ,
BTL_SUBSTATE_END_TURN_AWAIT_SCRIPTS = 2 ,
BTL_SUBSTATE_END_TURN_BEGIN_NEXT = 3 ,
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_END_TURN_UNUSED_4 = 4 ,
2023-01-10 07:33:09 +01:00
BTL_SUBSTATE_END_TURN_PERFORM_SWAP = 11 ,
BTL_SUBSTATE_END_TURN_START_SCRIPTS = 12 ,
// BATTLE_STATE_BEGIN_PLAYER_TURN
BTL_SUBSTATE_BEGIN_PLAYER_TURN_INIT = 0 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_COMMAND_RECOVER = 1 ,
2023-01-11 09:38:04 +01:00
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_WATER_BLOCK = 2 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_WATER_BLOCK = 10 ,
2023-01-10 07:33:09 +01:00
BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_CLOUD_NINE = 11 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_CLOUD_NINE = 12 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_TURBO_CHARGE = 15 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_TURBO_CHARGE = 16 ,
2023-01-11 09:38:04 +01:00
BTL_SUBSTATE_BEGIN_PLAYER_TURN_AWAIT_OUTTA_SIGHT = 20 ,
2023-01-10 07:33:09 +01:00
BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_DAMAGE = 21 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_RECOVER = 22 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_END_DELAY = 30 ,
BTL_SUBSTATE_BEGIN_PLAYER_TURN_RESET_STATE = 100 ,
// BATTLE_STATE_BEGIN_PARTNER_TURN
BTL_SUBSTATE_BEGIN_PARTNER_TURN_INIT = 0 ,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_AWAIT_RECOVER_DONE = 1 ,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_EXEC_TURN_SCRIPT = 8 ,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_AWAIT_TURN_SCRIPT = 9 ,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_END_DELAY = 10 ,
BTL_SUBSTATE_BEGIN_PARTNER_TURN_RESET_STATE = 100 ,
// BATTLE_STATE_9
BTL_SUBSTATE_9_INIT = 0 ,
BTL_SUBSTATE_9_1 = 1 ,
BTL_SUBSTATE_9_2 = 2 ,
BTL_SUBSTATE_9_3 = 3 ,
BTL_SUBSTATE_9_4 = 4 ,
BTL_SUBSTATE_9_5 = 5 ,
BTL_SUBSTATE_9_6 = 6 ,
BTL_SUBSTATE_9_7 = 7 ,
// BATTLE_STATE_SWITCH_TO_PLAYER
// BATTLE_STATE_SWITCH_TO_PARTNER
// BATTLE_STATE_PREPARE_MENU
2023-01-15 10:22:41 +01:00
BATTLE_SUBSTATE_PREPARE_MENU_DIPPING = 70 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_PLAYER_MENU
// BATTLE_STATE_PARTNER_MENU
// BATTLE_STATE_PEACH_MENU
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PEACH_MENU_INIT = 0 ,
BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY = 1 ,
BTL_SUBSTATE_PEACH_MENU_CHOOSE_TARGET = 2 ,
BTL_SUBSTATE_PEACH_MENU_UNUSED_3 = 3 ,
BTL_SUBSTATE_PEACH_MENU_TARGET_CANCEL = 4 ,
BTL_SUBSTATE_PEACH_MENU_TARGET_CHOSEN = 5 ,
BTL_SUBSTATE_PEACH_MENU_UNUSED_6 = 6 ,
BTL_SUBSTATE_PEACH_MENU_UNUSED_7 = 7 ,
BTL_SUBSTATE_PEACH_MENU_SHOW_CANT_SWITCH = 8 ,
BTL_SUBSTATE_PEACH_MENU_AWAIT_CANT_SWITCH_POPUP = 9 ,
BTL_SUBSTATE_PEACH_MENU_PERFORM_SWAP = 10 ,
BTL_SUBSTATE_PEACH_CREATE_MAIN_MENU = 11 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_TWINK_MENU
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_TWINK_MENU_INIT = 0 ,
BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY = 1 ,
BTL_SUBSTATE_TWINK_MENU_CHOOSE_TARGET = 2 ,
BTL_SUBSTATE_TWINK_MENU_UNUSED_3 = 3 ,
BTL_SUBSTATE_TWINK_MENU_TARGET_CANCEL = 4 ,
BTL_SUBSTATE_TWINK_MENU_TARGET_CHOSEN = 5 ,
BTL_SUBSTATE_TWINK_MENU_UNUSED_6 = 6 ,
BTL_SUBSTATE_TWINK_MENU_UNUSED_7 = 7 ,
BTL_SUBSTATE_TWINK_MENU_SHOW_CANT_SWITCH = 8 ,
BTL_SUBSTATE_TWINK_MENU_AWAIT_CANT_SWITCH_POPUP = 9 ,
BTL_SUBSTATE_TWINK_MENU_PERFORM_SWAP = 10 ,
BTL_SUBSTATE_TWINK_MENU_CREATE_MAIN_MENU = 11 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_SELECT_TARGET
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_SELECT_TARGET_INIT = 0 ,
BTL_SUBSTATE_SELECT_TARGET_CHOOSE = 1 ,
BTL_SUBSTATE_SELECT_TARGET_DONE = 2 ,
BTL_SUBSTATE_SELECT_TARGET_CANCEL = 10 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_PLAYER_MOVE
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MOVE_INIT = 0 ,
BTL_SUBSTATE_PLAYER_MOVE_BEGIN_SHOW_TIP = 1 ,
BTL_SUBSTATE_PLAYER_MOVE_SHOW_TIP_DELAY = 2 ,
BTL_SUBSTATE_PLAYER_MOVE_EXECUTE_MOVE = 3 ,
BTL_SUBSTATE_PLAYER_MOVE_HANDLE_RESULTS = 4 ,
BTL_SUBSTATE_PLAYER_MOVE_AWAIT_ENEMY_STATUS_POPUP = 11 ,
BTL_SUBSTATE_PLAYER_MOVE_POST_ENEMY_STATUS_POPUP = 12 ,
BTL_SUBSTATE_PLAYER_MOVE_CHECK_PLAYER_STATUS = 20 ,
BTL_SUBSTATE_PLAYER_MOVE_AWAIT_PLAYER_STATUS_POPUP = 21 ,
BTL_SUBSTATE_PLAYER_MOVE_POST_PLAYER_STATUS_POPUP = 22 ,
BTL_SUBSTATE_PLAYER_MOVE_AWAIT_DONE = 30 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_PARTNER_MOVE
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MOVE_INIT = 0 ,
BTL_SUBSTATE_PARTNER_MOVE_EXECUTE_MOVE = 2 ,
BTL_SUBSTATE_PARTNER_MOVE_HANDLE_RESULTS = 3 ,
BTL_SUBSTATE_PARTNER_MOVE_AWAIT_PARTNER_STATUS_POPUP = 11 ,
BTL_SUBSTATE_PARTNER_MOVE_POST_PARTNER_STATUS_POPUP = 12 ,
BTL_SUBSTATE_PARTNER_MOVE_CHECK_ENEMY_STATUS = 20 ,
BTL_SUBSTATE_PARTNER_MOVE_AWAIT_ENEMY_STATUS_POPUP = 21 ,
BTL_SUBSTATE_PARTNER_MOVE_POST_ENEMY_STATUS_POPUP = 22 ,
BTL_SUBSTATE_PARTNER_MOVE_DONE = 30 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_NEXT_ENEMY
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_NEXT_ENEMY_INIT = 0 ,
BTL_SUBSTATE_NEXT_ENEMY_UNUSED_1 = 1 ,
BTL_SUBSTATE_NEXT_ENEMY_DONE = 2 , // enemy has been found
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_ENEMY_MOVE
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_ENEMY_MOVE_EXECUTE = 0 ,
BTL_SUBSTATE_ENEMY_MOVE_UNUSED_1 = 1 ,
BTL_SUBSTATE_ENEMY_MOVE_AWAIT_SCRIPTS = 2 ,
BTL_SUBSTATE_ENEMY_MOVE_AWAIT_PLAYER_POPUP_DONE = 11 , // wait for popups regarding player status to finish
BTL_SUBSTATE_ENEMY_MOVE_POST_PLAYER_POPUP_DELAY = 12 , // a brief delay after the popup vanishes
BTL_SUBSTATE_ENEMY_MOVE_CHECK_PARTNER = 20 ,
BTL_SUBSTATE_ENEMY_MOVE_AWAIT_PARTNER_POPUP_DONE = 21 , // wait for popups regarding partner status to finish
BTL_SUBSTATE_ENEMY_MOVE_POST_PARTNER_POPUP_DELAY = 22 , // a brief delay after the popup vanishes
BTL_SUBSTATE_ENEMY_MOVE_DONE = 30 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_END_PLAYER_TURN
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_END_PLAYER_TURN_CHECK_HAPPY = 0 ,
BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_HAPPY = 5 ,
BTL_SUBSTATE_END_PLAYER_TURN_AWAIT_SWAP = 6 ,
BTL_SUBSTATE_END_PLAYER_TURN_DONE = 10 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_END_PARTNER_TURN
// BATTLE_STATE_RUN_AWAY
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_RUN_AWAY_EXEC_SCRIPT = 0 ,
BTL_SUBSTATE_RUN_AWAY_AWAIT_SCRIPT = 2 ,
BTL_SUBSTATE_RUN_AWAY_EXEC_POST_FAILURE = 3 ,
BTL_SUBSTATE_RUN_AWAY_AWAIT_POST_FAILURE = 4 ,
BTL_SUBSTATE_RUN_AWAY_GIVE_STAR_POINTS = 10 ,
BTL_SUBSTATE_RUN_AWAY_DONE = 11 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_DEFEND
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_DEFEND_INIT = 0 ,
BTL_SUBSTATE_DEFEND_AWAIT_SCRIPT = 1 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_VICTORY
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_VICTORY_CHECK_OUTTA_SIGHT = 0 ,
BTL_SUBSTATE_VICTORY_AWAIT_OUTTA_SIGHT = 1 ,
BTL_SUBSTATE_VICTORY_CHECK_MERLEE = 2 ,
BTL_SUBSTATE_VICTORY_AWAIT_MERLEE = 3 ,
BTL_SUBSTATE_VICTORY_DONE = 4 ,
BTL_SUBSTATE_VICTORY_RECOVER_STATUS = 5 ,
BTL_SUBSTATE_VICTORY_AWAIT_RECOVER_KO = 10 ,
BTL_SUBSTATE_VICTORY_CHECK_SWAP = 11 ,
BTL_SUBSTATE_VICTORY_AWAIT_SWAP = 12 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_DEFEAT
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_DEFEAT_INIT = 0 ,
BTL_SUBSTATE_DEFEAT_CHECK_LIFE_SHROOM = 1 ,
BTL_SUBSTATE_DEFEAT_AWAIT_LIFE_SHROOM = 2 ,
BTL_SUBSTATE_DEFEAT_DONE = 10 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_28
// BATTLE_STATE_CHANGE_PARTNER
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_CHANGE_PARTNER_INIT = 0 ,
BTL_SUBSTATE_CHANGE_PARTNER_EXEC_PUT_AWAY = 2 ,
BTL_SUBSTATE_CHANGE_PARTNER_LOAD_NEW_PARTNER = 3 ,
BTL_SUBSTATE_CHANGE_PARTNER_EXEC_BRING_OUT = 4 ,
BTL_SUBSTATE_CHANGE_PARTNER_EXEC_PHASE = 5 ,
BTL_SUBSTATE_CHANGE_PARTNER_AWAIT_PHASE = 6 ,
BTL_SUBSTATE_CHANGE_PARTNER_DONE = 7 ,
2023-01-19 02:33:52 +01:00
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_END_TRAINING_BATTLE
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_END_TRAINING_INIT = 0 ,
BTL_SUBSTATE_END_TRAINING_AWAIT_RECOVERING = 10 ,
BTL_SUBSTATE_END_TRAINING_CHECK_OUTTA_SIGHT = 11 ,
BTL_SUBSTATE_END_TRAINING_AWAIT_OUTTA_SIGHT = 12 ,
BTL_SUBSTATE_END_TRAINING_RESET_CAM = 13 ,
BTL_SUBSTATE_END_TRAINING_DONE = 14 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_31
2023-01-15 10:22:41 +01:00
// BATTLE_STATE_END_BATTLE
BTL_SUBSTATE_END_BATTLE_INIT = 0 ,
BTL_SUBSTATE_END_BATTLE_FADE_OUT = 1 ,
BTL_SUBSTATE_END_BATTLE_EXEC_STAGE_SCRIPT = 2 ,
BTL_SUBSTATE_END_BATTLE_AWAIT_STAGE_SCRIPT = 3 ,
BTL_SUBSTATE_END_BATTLE_CLEANUP = 4 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_CELEBRATION
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_CELEBRATE_INIT = 0 ,
BTL_SUBSTATE_CELEBRATE_LOAD_STAR_POINTS = 1 ,
BTL_SUBSTATE_CELEBRATE_TALLY_STAR_POINTS = 2 ,
BTL_SUBSTATE_CELEBRATE_POST_STAR_POINTS = 3 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_LOAD = 4 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_BEGIN = 5 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CREATE_HUD = 6 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_SHOW_HUD = 7 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CHOOSE = 8 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_UPGRADE = 9 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_FADE_OUT = 10 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_DESTROY_HUD = 11 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_INVALID = 15 ,
BTL_SUBSTATE_CELEBRATE_LEVEL_UP_INVALID_DELAY = 16 ,
BTL_SUBSTATE_CELEBRATE_SKIPPABLE_END_DELAY = 20 ,
BTL_SUBSTATE_CELEBRATE_WALK_AWAY = 21 ,
BTL_SUBSTATE_CELEBRATE_DONE = 22 ,
2023-01-10 07:33:09 +01:00
// BATTLE_STATE_34
// BATTLE_STATE_END_DEMO_BATTLE
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_END_DEMO_BATTLE_INIT = 0 ,
BTL_SUBSTATE_END_DEMO_BATTLE_FADE_OUT = 1 ,
BTL_SUBSTATE_END_DEMO_BATTLE_EXEC_STAGE_SCRIPT = 2 ,
BTL_SUBSTATE_END_DEMO_BATTLE_AWAIT_STAGE_SCRIPT = 3 ,
BTL_SUBSTATE_END_DEMO_BATTLE_CLEANUP = 4 ,
2023-01-10 07:33:09 +01:00
} ;
// used with BATTLE_STATE_PLAYER_MENU
enum BattlePlayerMenuSubstates {
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_INIT = 0 ,
2023-01-05 20:43:31 +01:00
// Main menu
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY = 1 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2 = 2 ,
BTL_SUBSTATE_PLAYER_MENU_MOVE_CHOOSE_TARGET = 3 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_4 = 4 ,
BTL_SUBSTATE_PLAYER_MENU_MOVE_TARGET_CANCEL = 5 ,
BTL_SUBSTATE_PLAYER_MENU_MOVE_TARGET_CHOSEN = 6 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_7 = 7 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_SHOW_CANT_SWAP = 8 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_AWAIT_CANT_SWAP = 9 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_10 = 10 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_11 = 11 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_12 = 12 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_13 = 13 ,
BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_14 = 14 ,
2023-01-05 20:43:31 +01:00
// Unknown
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_1 = 20 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_CHOOSE_TARGET = 21 ,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_3 = 22 ,
BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_4 = 23 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_TARGET_CANCEL = 24 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_TARGET_CHOSEN = 25 ,
2023-01-05 20:43:31 +01:00
// Change Member
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_1 = 30 ,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_2 = 31 ,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_3 = 32 ,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_4 = 33 ,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_5 = 34 ,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_6 = 35 ,
BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_7 = 36 ,
2023-01-05 20:43:31 +01:00
// Items
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_ITEMS_1 = 40 ,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_2 = 41 ,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_3 = 42 ,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_4 = 43 ,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_5 = 44 ,
BTL_SUBSTATE_PLAYER_MENU_ITEMS_6 = 45 ,
2023-01-05 20:43:31 +01:00
// Star Spirits
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_1 = 60 ,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_2 = 61 ,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_3 = 62 ,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_4 = 63 ,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_5 = 64 ,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_6 = 65 ,
BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_7 = 66 ,
// additional item use from Double/Triple dip
BTL_SUBSTATE_PLAYER_MENU_DIPPING_1 = 70 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_2 = 71 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_3 = 72 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_4 = 73 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_5 = 74 ,
BTL_SUBSTATE_PLAYER_MENU_DIPPING_6 = 75 ,
2023-01-05 20:43:31 +01:00
// Berserker
2023-09-23 07:57:29 +02:00
BTL_SUBSTATE_PLAYER_MENU_BERSERKER_CHOOSE = 100 ,
2023-01-05 20:43:31 +01:00
// Strategies
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_BUILD_STRATEGIES = 200 ,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_2 = 201 ,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_3 = 202 ,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_4 = 203 ,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_5 = 204 ,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_6 = 205 ,
BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_8 = 207 ,
2023-01-05 20:43:31 +01:00
// initialize
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PLAYER_MENU_PERFORM_SWAP = 300 ,
BTL_SUBSTATE_PLAYER_MENU_CREATE_MAIN_MENU = 302 ,
2023-01-05 20:43:31 +01:00
} ;
2023-01-10 07:33:09 +01:00
enum BattlePartnerMenuSubstates {
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_NONE = 0 ,
2022-11-16 10:46:50 +01:00
// Main menu
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1 = 2 ,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_2 = 3 ,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_3 = 4 ,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_4 = 5 ,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_5 = 6 ,
BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_6 = 7 ,
2023-10-14 21:43:12 +02:00
BTL_SUBSTATE_PARTNER_MENU_MAIN_SHOW_CANT_SWAP = 8 ,
BTL_SUBSTATE_PARTNER_MENU_MAIN_AWAIT_CANT_SWAP = 9 ,
2022-11-16 10:46:50 +01:00
// Abilities
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_1 = 10 ,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_2 = 11 ,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_3 = 12 ,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_4 = 13 ,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_5 = 14 ,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_6 = 15 ,
BTL_SUBSTATE_PARTNER_MENU_ABILITIES_7 = 16 ,
2022-11-16 10:46:50 +01:00
// Unknown, referenced only in btl_state_draw_partner_menu
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_1 = 20 ,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_2 = 21 ,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_3 = 22 ,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_4 = 23 ,
BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_5 = 24 ,
2022-11-16 10:46:50 +01:00
// Change Partner
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_1 = 30 ,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_2 = 31 ,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_3 = 32 ,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_4 = 33 ,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_5 = 34 ,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_6 = 35 ,
BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_7 = 36 ,
2022-11-16 10:46:50 +01:00
// Items
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_ITEMS_1 = 40 ,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_2 = 41 ,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_3 = 42 ,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_4 = 43 ,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_5 = 44 ,
BTL_SUBSTATE_PARTNER_MENU_ITEMS_6 = 45 ,
2022-11-16 10:46:50 +01:00
// Switch partner (unused)
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_1 = 50 ,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_2 = 51 ,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_3 = 52 ,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_4 = 53 ,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_5 = 54 ,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_6 = 55 ,
BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_7 = 56 ,
2022-11-16 10:46:50 +01:00
// Focus
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_FOCUS_1 = 60 ,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_2 = 61 ,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_3 = 62 ,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_4 = 63 ,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_5 = 64 ,
BTL_SUBSTATE_PARTNER_MENU_FOCUS_6 = 65 ,
2022-11-16 10:46:50 +01:00
// Strategies
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_1 = 200 ,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_2 = 201 ,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_3 = 202 ,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_4 = 203 ,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_5 = 204 ,
BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_6 = 205 ,
2022-11-16 10:46:50 +01:00
// initialize
2023-01-15 10:22:41 +01:00
BTL_SUBSTATE_PARTNER_MENU_12D = 301 ,
BTL_SUBSTATE_PARTNER_MENU_INIT_MENU = 302 ,
2023-01-10 07:33:09 +01:00
} ;
enum BattleMessages {
2023-10-14 21:43:12 +02:00
BTL_MSG_MERLEE_ATK_UP = 0x00 ,
BTL_MSG_MERLEE_DEF_UP = 0x01 ,
BTL_MSG_MERLEE_EXP_UP = 0x02 ,
BTL_MSG_MERLEE_DONE = 0x03 ,
BTL_MSG_CHARGE_HAMMER = 0x04 ,
BTL_MSG_CHARGE_HAMMER_MORE = 0x05 ,
BTL_MSG_CHARGE_JUMP = 0x06 ,
BTL_MSG_CHARGE_JUMP_MORE = 0x07 ,
BTL_MSG_CANT_CHARGE = 0x08 ,
BTL_MSG_ENEMY_MISSED = 0x09 ,
BTL_MSG_PLAYER_DAZED = 0x0A ,
BTL_MSG_PLAYER_ASLEEP = 0x0B ,
BTL_MSG_PLAYER_FROZEN = 0x0C ,
BTL_MSG_PLAYER_POISONED = 0x0D ,
BTL_MSG_PLAYER_SHRUNK = 0x0E ,
BTL_MSG_PLAYER_PARALYZED = 0x0F ,
BTL_MSG_PLAYER_CHARGED = 0x10 ,
BTL_MSG_PLAYER_TRANSPARENT = 0x11 ,
BTL_MSG_ENEMY_DAZED = 0x12 ,
BTL_MSG_ENEMY_ASLEEP = 0x13 ,
BTL_MSG_ENEMY_FROZEN = 0x14 ,
BTL_MSG_ENEMY_POISONED = 0x15 ,
BTL_MSG_ENEMY_SHRUNK = 0x16 ,
BTL_MSG_ENEMY_PARALYZED = 0x17 ,
BTL_MSG_ENEMY_ELECTRIFIED = 0x18 ,
BTL_MSG_ENEMY_CANT_MOVE = 0x19 ,
BTL_MSG_STAR_POWER_RECHARGED = 0x1A ,
BTL_MSG_STAR_POWER_MAXED = 0x1B ,
BTL_MSG_STAR_POWER_FILLED = 0x1C ,
BTL_MSG_ATTACK_UP = 0x1D ,
BTL_MSG_DEFENCE_UP = 0x1E ,
BTL_MSG_HEAL_ONE = 0x1F ,
BTL_MSG_HEAL_ALL = 0x20 ,
BTL_MSG_ENEMY_TRANSPARENT = 0x21 ,
BTL_MSG_ENEMY_CHARGED = 0x22 ,
BTL_MSG_PARTNER_INJURED = 0x23 ,
BTL_MSG_CHARGE_GOOMBARIO = 0x24 ,
BTL_MSG_CHARGE_GOOMBARIO_MORE = 0x25 ,
BTL_MSG_WATER_BLOCK_BEGIN = 0x26 ,
BTL_MSG_WATER_BLOCK_END = 0x27 ,
BTL_MSG_CLOUD_NINE_BEGIN = 0x28 ,
BTL_MSG_CLOUD_NINE_END = 0x29 ,
BTL_MSG_TURBO_CHARGE_BEGIN = 0x2A ,
BTL_MSG_TURBO_CHARGE_END = 0x2B ,
BTL_MSG_CHILL_OUT_BEGIN = 0x2C ,
BTL_MSG_UNUSED_CLOUD_NINE = 0x2D ,
BTL_MSG_FIRST_ACTION_TIP = 0x2E ,
BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING = 0x2E , // jump moves, Sky Dive
BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED = 0x2F , // hammer moves, Belly Flop, Shell Toss
BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE = 0x30 , // Headbonk and Multibonk
BTL_MSG_ACTION_TIP_MASH_BUTTON = 0x31 , // Dizzy Shell, Power Shock, Air Lift, Bombette's moves
BTL_MSG_ACTION_TIP_MASH_LEFT = 0x32 , // Fire Shell, Air Raid, Spiny Surge, Bow's moves
BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM = 0x33 , // Shell Shot
BTL_MSG_ACTION_TIP_UNUSED_1 = 0x34 , // unused
BTL_MSG_ACTION_TIP_UNUSED_2 = 0x35 , // unused
BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN = 0x36 , // Tidal Wave
BTL_MSG_ACTION_TIP_NOT_USED_1 = 0x37 , // unused, special message
BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING = 0x38 , // Turbo Charge, Water Block, Cloud Nine
BTL_MSG_ACTION_TIP_NOT_USED_2 = 0x39 , // unused, special message
BTL_MSG_ACTION_TIP_MASH_BOTH = 0x3A , // Mega Shock and Hurricane
BTL_MSG_ACTION_TIP_UNUSED_3 = 0x3B , // unused
BTL_MSG_ACTION_TIP_HOLD_THEN_TAP = 0x3C , // Squirt
BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE = 0x3D , // Body Slam and Electro Dash
BTL_MSG_ACTION_TIP_MOVE_TO_AIM = 0x3E , // Spiny Flip
BTL_MSG_ACTION_TIP_UNUSED_4 = 0x3F , // unused
BTL_MSG_ACTION_TIP_BREAK_FREE = 0x40 , // unused
BTL_MSG_ACTION_TIP_REDUCE_DAMAGE = 0x41 , // unused
BTL_MSG_ACTION_TIP_NOT_USED_3 = 0x42 , // Earthquake Jump
BTL_MSG_LAST_ACTION_TIP = 0x42 ,
BTL_MSG_NO_JUMP_TARGET = 0x43 ,
BTL_MSG_NO_HAMMER_TARGET = 0x44 ,
BTL_MSG_NO_ITEM_TARGET = 0x45 ,
BTL_MSG_46 = 0x46 ,
BTL_MSG_47 = 0x47 ,
BTL_MSG_CANT_SELECT_NOW = 0x48 ,
BTL_MSG_HAMMER_DISABLED_1 = 0x49 ,
BTL_MSG_HAMMER_DISABLED_2 = 0x4A ,
BTL_MSG_HAMMER_DISABLED_3 = 0x4B ,
BTL_MSG_JUMP_DISABLED_1 = 0x4C ,
BTL_MSG_JUMP_DISABLED_2 = 0x4D ,
BTL_MSG_JUMP_DISABLED_3 = 0x4E ,
BTL_MSG_ITEMS_DISABLED = 0x4F ,
BTL_MSG_CANT_SWITCH = 0x50 ,
BTL_MSG_CANT_MOVE = 0x51 ,
BTL_MSG_CANT_SWITCH_UNUSED = 0x52 ,
BTL_MSG_CANT_MOVE_UNUSED = 0x53 ,
BTL_MSG_CANT_SELECT_NOW_ALT = 0x54 ,
} ;
// states after INIT are different for each type of battle message
enum BattleMessageStates {
2023-10-22 14:39:20 +02:00
// generic INIT state shared by all message types
2023-10-14 21:43:12 +02:00
BTL_MSG_STATE_INIT = 0 ,
2023-10-22 14:39:20 +02:00
// states for popup messages like BTL_MSG_MERLEE_ATK_UP or BTL_MSG_ENEMY_ASLEEP
BTL_MSG_STATE_POPUP_PRE_DELAY = 1 ,
BTL_MSG_STATE_POPUP_DELAY = 2 ,
BTL_MSG_STATE_POPUP_POST_DELAY = 3 ,
BTL_MSG_STATE_POPUP_DISPOSE = 4 ,
// states for action tip messages
BTL_MSG_STATE_ACTION_TIP_DELAY = 1 ,
BTL_MSG_STATE_ACTION_TIP_DISPOSE = 2 ,
// states for error messages like BTL_MSG_NO_JUMP_TARGET or BTL_MSG_CANT_SELECT_NOW
BTL_MSG_STATE_ERROR_PRE_DELAY = 1 ,
BTL_MSG_STATE_ERROR_DELAY = 2 ,
BTL_MSG_STATE_ERROR_POST_DELAY = 3 ,
BTL_MSG_STATE_ERROR_DISPOSE = 4 ,
// states for command disable notifications like BTL_MSG_ITEMS_DISABLED
BTL_MSG_STATE_DISABLED_DELAY = 1 ,
2023-01-10 07:33:09 +01:00
} ;
2023-01-15 10:22:41 +01:00
// BattleMenuState
enum BattleMenuStates {
BTL_MENU_STATE_OPENED_SUBMENU = - 1 ,
BTL_MENU_STATE_CREATE = 0 ,
BTL_MENU_STATE_UNK_1 = 1 ,
BTL_MENU_STATE_ACCEPT_INPUT = 2 ,
BTL_MENU_STATE_UNK_A = 10 ,
BTL_MENU_STATE_UNK_B = 11 ,
BTL_MENU_STATE_UNK_14 = 20 ,
BTL_MENU_STATE_UNK_1E = 30 ,
BTL_MENU_STATE_SHOW_DISABLED_POPUP = 100 ,
BTL_MENU_STATE_AWAIT_DISABLED_POPUP = 101 ,
} ;
enum BattleMoveSubmenuStates {
BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_TWO = - 2 , // go back
BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_ONE = - 1 ,
BTL_SUBMENU_MOVES_STATE_UNK_0 = 0 ,
BTL_SUBMENU_MOVES_STATE_UNK_1 = 1 ,
BTL_SUBMENU_MOVES_STATE_UNK_A = 10 ,
BTL_SUBMENU_MOVES_STATE_UNK_B = 11 ,
BTL_SUBMENU_MOVES_STATE_UNK_14 = 20 ,
BTL_SUBMENU_MOVES_STATE_UNK_1E = 30 ,
BTL_SUBMENU_MOVES_STATE_UNK_28 = 40 ,
BTL_SUBMENU_MOVES_STATE_UNK_29 = 41 ,
BTL_SUBMENU_MOVES_STATE_UNK_2A = 42 ,
} ;
2023-09-23 07:57:29 +02:00
enum BattleStratsSubmenuStates {
BTL_SUBMENU_STRATS_STATE_CANCEL = - 2 , // go back
BTL_SUBMENU_STRATS_STATE_SELECT = - 1 , // approve choice
BTL_SUBMENU_STRATS_STATE_INIT = 0 ,
BTL_SUBMENU_STRATS_STATE_CHOOSE = 1 ,
BTL_SUBMENU_STRATS_STATE_UNK_10 = 10 ,
BTL_SUBMENU_STRATS_STATE_UNK_11 = 11 ,
BTL_SUBMENU_STRATS_STATE_UNK_20 = 20 ,
BTL_SUBMENU_STRATS_STATE_UNK_30 = 30 ,
BTL_SUBMENU_STRATS_STATE_ERROR_INIT = 40 ,
BTL_SUBMENU_STRATS_STATE_ERROR_SHOW = 41 ,
BTL_SUBMENU_STRATS_STATE_ERROR_DONE = 42 ,
} ;
2023-01-15 10:22:41 +01:00
enum BattleMenuIndex {
BTL_MENU_IDX_MAIN = 0 ,
BTL_MENU_IDX_JUMP = 1 ,
BTL_MENU_IDX_SMASH = 2 ,
BTL_MENU_IDX_ITEMS = 3 ,
BTL_MENU_IDX_DIP = 4 ,
BTL_MENU_IDX_PARTNER = 5 ,
BTL_MENU_IDX_STAR_POWER = 6 ,
BTL_MENU_IDX_STRATEGY = 7 ,
// partners only
BTL_MENU_IDX_ABILITY = 1 ,
BTL_MENU_IDX_PARTNER_ITEM = 4 ,
} ;
2023-01-11 09:38:04 +01:00
enum BattleMenuTypes {
2023-01-15 10:22:41 +01:00
BTL_MENU_TYPE_INVALID = - 1 ,
BTL_MENU_TYPE_JUMP = 0 ,
BTL_MENU_TYPE_SMASH = 1 ,
BTL_MENU_TYPE_ITEMS = 2 ,
BTL_MENU_TYPE_RUN_AWAY = 3 ,
BTL_MENU_TYPE_DEFEND = 4 ,
BTL_MENU_TYPE_CHANGE_PARTNER = 5 ,
BTL_MENU_TYPE_ABILITY = 6 ,
BTL_MENU_TYPE_STRATEGIES = 7 ,
BTL_MENU_TYPE_STAR_POWERS = 8 ,
BTL_MENU_TYPE_DO_NOTHING = 9 ,
BTL_MENU_TYPE_ACT_LATER = 10 ,
BTL_MENU_TYPE_PARTNER_FOCUS = 11 ,
} ;
enum BattleMenuDisableFlags {
2023-05-23 14:57:34 +02:00
BTL_MENU_ENABLED_JUMP = 1 < < BTL_MENU_TYPE_JUMP ,
BTL_MENU_ENABLED_SMASH = 1 < < BTL_MENU_TYPE_SMASH ,
BTL_MENU_ENABLED_ITEMS = 1 < < BTL_MENU_TYPE_ITEMS ,
BTL_MENU_ENABLED_ABILITIES = 1 < < BTL_MENU_TYPE_ABILITY ,
BTL_MENU_ENABLED_STRATEGIES = 1 < < BTL_MENU_TYPE_STRATEGIES ,
BTL_MENU_ENABLED_STAR_POWERS = 1 < < BTL_MENU_TYPE_STAR_POWERS ,
BTL_MENU_ENABLED_PARTNER_FOCUS = 1 < < BTL_MENU_TYPE_PARTNER_FOCUS ,
2023-01-11 09:38:04 +01:00
} ;
2023-10-14 21:43:12 +02:00
enum BattleRumbleModes {
BTL_RUMBLE_STOP = 0 ,
BTL_RUMBLE_LONG = 1 ,
BTL_RUMBLE_HIT_MIN = 2 ,
BTL_RUMBLE_HIT_LIGHT = 3 ,
BTL_RUMBLE_HIT_HEAVY = 4 ,
BTL_RUMBLE_HIT_EXTREME = 5 ,
BTL_RUMBLE_HIT_MAX = 6 ,
BTL_RUMBLE_PLAYER_MIN = 7 ,
BTL_RUMBLE_PLAYER_LIGHT = 8 ,
BTL_RUMBLE_PLAYER_HEAVY = 9 ,
BTL_RUMBLE_PLAYER_EXTREME = 10 ,
BTL_RUMBLE_PLAYER_MAX = 11 ,
} ;
2023-01-10 07:33:09 +01:00
enum DebugEnemyContactModes {
DEBUG_CONTACT_NONE = 0 , // contact with enemies behaves normally
DEBUG_CONTACT_CANT_TOUCH = 1 , // enemies pass through the player and cannot start battles
DEBUG_CONTACT_DIE_ON_TOUCH = 2 , // enemies die on contact in the overworld
DEBUG_CONTACT_DIE_IN_BATTLE = 3 , // all enemies wll die during BATTLE_STATE_BEGIN_TURN
DEBUG_CONTACT_AUTO_FLEE = 4 , // the player flees during BATTLE_STATE_BEGIN_TURN
2022-11-19 18:24:16 +01:00
} ;
2023-10-14 21:43:12 +02:00
enum DebugScriptstModes {
DEBUG_SCRIPTS_NONE = 0 ,
DEBUG_SCRIPTS_NO_UPDATE = 1 ,
DEBUG_SCRIPTS_BLOCK_FUNC_DONE = 2 ,
} ;
2021-11-11 05:30:59 +01:00
enum DebuffTypes {
2023-01-11 09:38:04 +01:00
DEBUFF_TYPE_SLEEP = 0x00001000 ,
DEBUFF_TYPE_STATIC = 0x00002000 ,
DEBUFF_TYPE_FROZEN = 0x00004000 ,
DEBUFF_TYPE_PARALYZED = 0x00010000 ,
DEBUFF_TYPE_POISON = 0x00020000 ,
DEBUFF_TYPE_DIZZY = 0x00040000 ,
DEBUFF_TYPE_SHRINK = 0x00080000 ,
DEBUFF_TYPE_STONE = 0x00100000 ,
DEBUFF_TYPE_STOP = 0x00200000 ,
DEBUFF_TYPE_DAZE = 0x01000000 ,
DEBUFF_TYPE_INVISIBLE = 0x04000000 ,
2021-11-11 05:30:59 +01:00
} ;
2024-09-23 20:42:15 +02:00
enum PlayerBasicJump {
PLAYER_BASIC_JUMP_0 = 0 ,
PLAYER_BASIC_JUMP_1 = 1 ,
PLAYER_BASIC_JUMP_2 = 2 ,
PLAYER_BASIC_JUMP_3 = 3 ,
PLAYER_BASIC_JUMP_4 = 4 ,
} ;
enum PlayerSuperJump {
PLAYER_SUPER_JUMP_0 = 0 ,
PLAYER_SUPER_JUMP_1 = 1 ,
PLAYER_SUPER_JUMP_2 = 2 ,
PLAYER_SUPER_JUMP_3 = 3 ,
PLAYER_SUPER_JUMP_4 = 4 ,
PLAYER_SUPER_JUMP_5 = 5 ,
PLAYER_SUPER_JUMP_6 = 6 ,
} ;
enum PlayerUltraJump {
PLAYER_ULTRA_JUMP_0 = 0 ,
PLAYER_ULTRA_JUMP_1 = 1 ,
PLAYER_ULTRA_JUMP_2 = 2 ,
PLAYER_ULTRA_JUMP_3 = 3 ,
PLAYER_ULTRA_JUMP_4 = 4 ,
} ;
2021-11-11 05:30:59 +01:00
enum GlobalOverrides {
2023-10-22 14:39:20 +02:00
GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD = 0x00000002 ,
GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME = 0x00000008 ,
GLOBAL_OVERRIDES_MESSAGES_OVER_FRONTUI = 0x00000010 ,
GLOBAL_OVERRIDES_SOFT_RESET = 0x00000020 , // unused but functional
GLOBAL_OVERRIDES_40 = 0x00000040 ,
GLOBAL_OVERRIDES_ENABLE_FLOOR_REFLECTION = 0x00000080 ,
GLOBAL_OVERRIDES_DISABLE_BATTLES = 0x00000100 ,
GLOBAL_OVERRIDES_200 = 0x00000200 ,
GLOBAL_OVERRIDES_400 = 0x00000400 ,
GLOBAL_OVERRIDES_800 = 0x00000800 ,
GLOBAL_OVERRIDES_PREV_DISABLE_BATTLES = 0x00001000 ,
GLOBAL_OVERRIDES_PREV_200 = 0x00002000 ,
GLOBAL_OVERRIDES_PREV_400 = 0x00004000 ,
GLOBAL_OVERRIDES_PREV_800 = 0x00008000 ,
GLOBAL_OVERRIDES_WINDOWS_OVER_CURTAINS = 0x00010000 ,
GLOBAL_OVERRIDES_DONT_RESUME_SONG_AFTER_BATTLE = 0x00020000 ,
GLOBAL_OVERRIDES_DISABLE_MENUS = 0x00040000 ,
GLOBAL_OVERRIDES_MESSAGES_OVER_CURTAINS = 0x00100000 ,
GLOBAL_OVERRIDES_CANT_PICK_UP_ITEMS = 0x00200000 ,
2021-11-11 05:30:59 +01:00
} ;
2023-07-18 11:07:58 +02:00
# define MODEL_FLAGS_MASK_FFF0 (\
MODEL_FLAG_USES_CUSTOM_GFX \
| MODEL_FLAG_20 \
2023-11-24 05:06:58 +01:00
| MODEL_FLAG_IGNORE_FOG \
2023-07-18 11:07:58 +02:00
| MODEL_FLAG_HAS_LOCAL_VERTEX_COPY \
2024-09-23 20:42:15 +02:00
| MODEL_FLAG_BILLBOARD \
2023-07-18 11:07:58 +02:00
| MODEL_FLAG_DO_BOUNDS_CULLING \
| MODEL_FLAG_HAS_TRANSFORM \
| MODEL_FLAG_HAS_TEX_PANNER \
| MODEL_FLAG_MATRIX_DIRTY \
| MODEL_FLAG_IGNORE_MATRIX \
2023-11-24 05:06:58 +01:00
| MODEL_FLAG_UNUSED_4000 \
| MODEL_FLAG_UNUSED_8000 )
2021-11-11 05:30:59 +01:00
enum ModelFlags {
2023-07-18 11:07:58 +02:00
MODEL_FLAG_VALID = 0x0001 ,
MODEL_FLAG_HIDDEN = 0x0002 ,
MODEL_FLAG_INACTIVE = 0x0004 ,
MODEL_FLAG_TRANSFORM_GROUP_MEMBER = 0x0008 ,
MODEL_FLAG_USES_CUSTOM_GFX = 0x0010 ,
MODEL_FLAG_20 = 0x0020 ,
2023-11-24 05:06:58 +01:00
MODEL_FLAG_IGNORE_FOG = 0x0040 ,
2023-07-18 11:07:58 +02:00
MODEL_FLAG_HAS_LOCAL_VERTEX_COPY = 0x0080 ,
2024-09-23 20:42:15 +02:00
MODEL_FLAG_BILLBOARD = 0x0100 , // rotate to face the camera
2023-07-18 11:07:58 +02:00
MODEL_FLAG_DO_BOUNDS_CULLING = 0x0200 ,
MODEL_FLAG_HAS_TRANSFORM = 0x0400 ,
MODEL_FLAG_HAS_TEX_PANNER = 0x0800 ,
MODEL_FLAG_MATRIX_DIRTY = 0x1000 , // transform matrix changed and combined matrix needs to be recalculated
MODEL_FLAG_IGNORE_MATRIX = 0x2000 , // set until dirty combined matrix has been recalculated
2023-11-24 05:06:58 +01:00
MODEL_FLAG_UNUSED_4000 = 0x4000 ,
MODEL_FLAG_UNUSED_8000 = 0x8000 ,
2021-11-11 05:30:59 +01:00
} ;
2023-02-20 16:22:38 +01:00
enum ModelGroupVisibility {
MODEL_GROUP_HIDDEN = 0 ,
MODEL_GROUP_VISIBLE = 1 ,
MODEL_GROUP_OTHERS_HIDDEN = 2 ,
MODEL_GROUP_OTHERS_VISIBLE = 3 ,
} ;
2023-11-24 05:06:58 +01:00
enum TintMode {
ENV_TINT_UNCHANGED = - 1 ,
// no additional tint is applied (model is still be affected by world fog)
ENV_TINT_NONE = 0 ,
// additional fog which 'shrouds' the world during certain scenes
ENV_TINT_SHROUD = 1 ,
// adds depth-based tint using fog, overriding the world fog for affected models
ENV_TINT_DEPTH = 2 ,
// this mode remaps each color channel range from [0, 255] -> [min, max],
// setting a new white point and black point for the scene.
// the new max values are stored in PRIMITIVE and the new min values in ENV
ENV_TINT_REMAP = 3 ,
} ;
2022-10-01 03:44:48 +02:00
enum TexPanner {
2022-10-04 02:56:24 +02:00
//select pan unit
2022-10-01 03:44:48 +02:00
TEX_PANNER_0 = 0x0 ,
TEX_PANNER_1 = 0x1 ,
TEX_PANNER_2 = 0x2 ,
TEX_PANNER_3 = 0x3 ,
TEX_PANNER_4 = 0x4 ,
TEX_PANNER_5 = 0x5 ,
TEX_PANNER_6 = 0x6 ,
TEX_PANNER_7 = 0x7 ,
TEX_PANNER_8 = 0x8 ,
TEX_PANNER_9 = 0x9 ,
TEX_PANNER_A = 0xA ,
TEX_PANNER_B = 0xB ,
TEX_PANNER_C = 0xC ,
TEX_PANNER_D = 0xD ,
TEX_PANNER_E = 0xE ,
TEX_PANNER_F = 0xF ,
2022-10-04 02:56:24 +02:00
// select texture component
2022-10-01 03:44:48 +02:00
TEX_PANNER_MAIN = 0 ,
TEX_PANNER_AUX = 1 ,
} ;
2022-12-12 13:31:29 +01:00
enum CustomGfxUnit {
2023-02-03 07:16:32 +01:00
CUSTOM_GFX_NONE = - 1 ,
2022-12-12 13:31:29 +01:00
CUSTOM_GFX_0 = 0x00 ,
CUSTOM_GFX_1 = 0x01 ,
CUSTOM_GFX_2 = 0x02 ,
CUSTOM_GFX_3 = 0x03 ,
CUSTOM_GFX_4 = 0x04 ,
CUSTOM_GFX_5 = 0x05 ,
CUSTOM_GFX_6 = 0x06 ,
CUSTOM_GFX_7 = 0x07 ,
CUSTOM_GFX_8 = 0x08 ,
CUSTOM_GFX_9 = 0x09 ,
CUSTOM_GFX_A = 0x0A ,
CUSTOM_GFX_B = 0x0B ,
CUSTOM_GFX_C = 0x0C ,
CUSTOM_GFX_D = 0x0D ,
CUSTOM_GFX_E = 0x0E ,
CUSTOM_GFX_F = 0x0F ,
} ;
enum CopiedVtxUnit {
VTX_COPY_0 = 0x0 ,
VTX_COPY_1 = 0x1 ,
VTX_COPY_2 = 0x2 ,
VTX_COPY_3 = 0x3 ,
VTX_COPY_4 = 0x4 ,
VTX_COPY_5 = 0x5 ,
VTX_COPY_6 = 0x6 ,
VTX_COPY_7 = 0x7 ,
VTX_COPY_8 = 0x8 ,
VTX_COPY_9 = 0x9 ,
VTX_COPY_A = 0xA ,
VTX_COPY_B = 0xB ,
VTX_COPY_C = 0xC ,
VTX_COPY_D = 0xD ,
VTX_COPY_E = 0xE ,
VTX_COPY_F = 0xF ,
} ;
2022-12-25 06:10:23 +01:00
enum ModelAnimUnit {
MDL_ANIMATOR_0 = 0x0 ,
MDL_ANIMATOR_1 = 0x1 ,
MDL_ANIMATOR_2 = 0x2 ,
MDL_ANIMATOR_3 = 0x3 ,
MDL_ANIMATOR_4 = 0x4 ,
MDL_ANIMATOR_5 = 0x5 ,
MDL_ANIMATOR_6 = 0x6 ,
MDL_ANIMATOR_7 = 0x7 ,
MDL_ANIMATOR_8 = 0x8 ,
MDL_ANIMATOR_9 = 0x9 ,
MDL_ANIMATOR_A = 0xA ,
MDL_ANIMATOR_B = 0xB ,
MDL_ANIMATOR_C = 0xC ,
MDL_ANIMATOR_D = 0xD ,
MDL_ANIMATOR_E = 0xE ,
MDL_ANIMATOR_F = 0xF ,
} ;
2023-02-06 01:13:45 +01:00
enum MapRoomFlags {
ROOM_FLAGS_VISGROUP_MASK = 0xF000 ,
ROOM_FLAGS_MASK = 0x0F00 ,
ROOM_FLAGS_DOOR_TYPE_MASK = 0x00FF ,
ROOM_DOOR_RIGHT_HINGE_OPENS_OUT = 0 , // left --> center (hinge on right)
ROOM_DOOR_RIGHT_HINGE_OPENS_IN = 1 , // center --> left
ROOM_DOOR_LEFT_HINGE_OPENS_OUT = 2 , // right --> center (hinge on left)
ROOM_DOOR_LEFT_HINGE_OPENS_IN = 3 , // center --> right
ROOM_DOOR_STRAIGHT_THROUGH = 4 , // center --> center
ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT = 5 , // deep left --> center (hinge on right)
ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_IN = 6 , // center --> deep left
ROOM_LARGE_DOOR_LEFT_HINGE_OPENS_OUT = 7 , // deep right --> center (hinge on left)
ROOM_FLAG_CUSTOM_ANIM_OPEN_DOOR = 0x100 ,
ROOM_FLAG_CUSTOM_ANIM_WALL_ROT = 0x200 ,
ROOM_FLAG_CUSTOM_ANIM_DROP_DOOR = 0x400 ,
ROOM_FLAG_EXIT_DOOR_DROPS = 0x800 , // for internal use
} ;
enum MapRoomNotifications {
// dispatched to listener script during interactions with the room door
ROOM_UPDATE_ENTER_BEGIN = 0 ,
ROOM_UPDATE_ENTER_DONE = 1 ,
ROOM_UPDATE_EXIT_BEGIN = 2 ,
2023-02-06 12:21:55 +01:00
ROOM_UPDATE_EXIT_END = 3 ,
// when handling ROOM_UPDATE_ENTER_BEGIN, listener may return this to cancel the door opening. useful for locked doors.
2023-02-06 01:13:45 +01:00
ROOM_UPDATE_REQUEST_CANCEL = - 1 ,
// anim move door updates
ROOM_MOVE_DOOR_ENTER_OPEN = 0 ,
ROOM_MOVE_DOOR_ENTER_CLOSE = 1 ,
ROOM_MOVE_DOOR_EXIT_OPEN = 2 ,
ROOM_MOVE_DOOR_EXIT_CLOSE = 3 ,
// anim move walls update
ROOM_MOVE_WALL_OPEN = 0 ,
ROOM_MOVE_WALL_1 = 1 , // unused
ROOM_MOVE_WALL_2 = 2 , // unused
ROOM_MOVE_WALL_CLOSE = 3 ,
// anim drop droor updates
ROOM_DROP_DOOR_ENTER = 0 ,
ROOM_DROP_DOOR_1 = 1 , // unused
ROOM_DROP_DOOR_2 = 2 , // unused
ROOM_DROP_DOOR_EXIT = 3 ,
} ;
2021-11-11 05:30:59 +01:00
enum EnemyFlags {
2023-02-18 09:13:07 +01:00
ENEMY_FLAG_PASSIVE = 0x00000001 , // Not hostile; collision does not trigger battle
2024-10-08 05:15:38 +02:00
ENEMY_FLAG_UNUSED_2 = 0x00000002 , // Unused
ENEMY_FLAG_DO_NOT_KILL = 0x00000004 , // Enemy will not be killed after being defeated in battle
2023-02-18 09:13:07 +01:00
ENEMY_FLAG_ENABLE_HIT_SCRIPT = 0x00000008 ,
ENEMY_FLAG_FLED = 0x00000010 ,
ENEMY_FLAG_DISABLE_AI = 0x00000020 , // Disable movement AI and collision (idle animation plays)
ENEMY_FLAG_PROJECTILE = 0x00000040 ,
ENEMY_FLAG_DONT_UPDATE_SHADOW_Y = 0x00000080 ,
ENEMY_FLAG_IGNORE_WORLD_COLLISION = 0x00000100 ,
ENEMY_FLAG_IGNORE_PLAYER_COLLISION = 0x00000200 ,
ENEMY_FLAG_IGNORE_ENTITY_COLLISION = 0x00000400 ,
2023-08-21 20:07:08 +02:00
ENEMY_FLAG_FLYING = 0x00000800 , // Corresponds with NPC_FLAG_FLYING, name seems incorrect?
2023-02-18 09:13:07 +01:00
ENEMY_FLAG_GRAVITY = 0x00001000 ,
ENEMY_FLAG_NO_SHADOW_RAYCAST = 0x00002000 ,
ENEMY_FLAG_HAS_NO_SPRITE = 0x00004000 ,
2024-10-08 05:15:38 +02:00
ENEMY_FLAG_USE_INSPECT_ICON = 0x00008000 , // Corresponds with NPC_FLAG_USE_INSPECT_ICON
ENEMY_FLAG_RAYCAST_TO_INTERACT = 0x00010000 , // Intended to require a line of sight raycast before conversations can be triggered. Seems bugged. Corresponds with NPC_FLAG_RAYCAST_TO_INTERACT
2023-02-18 09:13:07 +01:00
ENEMY_FLAG_USE_PLAYER_SPRITE = 0x00020000 , // Used for Peach NPCs
2024-10-08 05:15:38 +02:00
ENEMY_FLAG_NO_DELAY_AFTER_FLEE = 0x00040000 ,
ENEMY_FLAG_DONT_SUSPEND_SCRIPTS = 0x00080000 , // Do not suspend ai/aux scripts when aiSuspendTime != 0
ENEMY_FLAG_SKIP_BATTLE = 0x00100000 ,
2023-02-18 09:13:07 +01:00
ENEMY_FLAG_ACTIVE_WHILE_OFFSCREEN = 0x00200000 ,
2024-10-08 05:15:38 +02:00
ENEMY_FLAG_DO_NOT_AUTO_FACE_PLAYER = 0x00400000 ,
2023-02-18 09:13:07 +01:00
ENEMY_FLAG_NO_DROPS = 0x00800000 , // Do not drop hearts, flowers, or coins on defeat
ENEMY_FLAG_IGNORE_TOUCH = 0x01000000 ,
ENEMY_FLAG_IGNORE_JUMP = 0x02000000 ,
ENEMY_FLAG_IGNORE_HAMMER = 0x04000000 ,
ENEMY_FLAG_CANT_INTERACT = 0x08000000 , // Makes passive NPCs non-interactable. Hostile NPCs are always non-interactible.
ENEMY_FLAG_IGNORE_PARTNER = 0x10000000 ,
ENEMY_FLAG_IGNORE_SPIN = 0x20000000 ,
ENEMY_FLAG_BEGIN_WITH_CHASING = 0x40000000 , // Starts in state AI_STATE_CHASE_INIT instead of AI_STATE_WANDER_INIT on spawn or AI resume
ENEMY_FLAG_SUSPENDED = 0x80000000 ,
2021-11-11 05:30:59 +01:00
} ;
2024-10-08 05:15:38 +02:00
# define BASE_PASSIVE_FLAGS \
( ENEMY_FLAG_PASSIVE \
2023-02-18 09:13:07 +01:00
| ENEMY_FLAG_IGNORE_WORLD_COLLISION \
| ENEMY_FLAG_IGNORE_ENTITY_COLLISION \
2024-10-08 05:15:38 +02:00
| ENEMY_FLAG_FLYING \
)
# define COMMON_PASSIVE_FLAGS \
( BASE_PASSIVE_FLAGS \
| ENEMY_FLAG_ENABLE_HIT_SCRIPT \
)
2023-02-10 09:00:28 +01:00
2022-04-29 06:32:16 +02:00
// used with enemy->aiFlags
2022-04-17 17:36:37 +02:00
enum EnemyAIFlags {
2024-10-01 04:50:46 +02:00
AI_FLAG_1 = 0x00000001 ,
AI_FLAG_CANT_DETECT_PLAYER = 0x00000002 ,
AI_FLAG_SUSPEND = 0x00000004 ,
AI_FLAG_SKIP_EMOTE_AFTER_FLEE = 0x00000008 ,
AI_FLAG_SKIP_IDLE_ANIM_AFTER_FLEE = 0x00000010 ,
AI_FLAG_OUTSIDE_TERRITORY = 0x00000020 ,
AI_FLAG_NEEDS_HEADING = 0x00000040 ,
AI_FLAG_80 = 0x00000080 ,
2022-04-17 17:36:37 +02:00
} ;
2022-04-29 06:32:16 +02:00
enum EnemyAIStates {
// basic states
AI_STATE_WANDER_INIT = 0 ,
AI_STATE_WANDER = 1 ,
AI_STATE_PATROL_INIT = 0 ,
AI_STATE_PATROL = 1 ,
AI_STATE_HOP_INIT = 0 ,
AI_STATE_HOP = 1 ,
AI_STATE_LOITER_INIT = 2 ,
AI_STATE_LOITER = 3 ,
AI_STATE_LOITER_POST = 4 ,
AI_STATE_ALERT_INIT = 10 ,
AI_STATE_ALERT = 11 ,
AI_STATE_CHASE_INIT = 12 ,
AI_STATE_CHASE = 13 ,
AI_STATE_LOSE_PLAYER = 14 ,
AI_STATE_PATROL_15 = 15 ,
AI_RETURN_HOME_INIT = 40 ,
AI_RETURN_HOME = 41 ,
AI_STATE_SUSPEND = 99 ,
// melee hitboxes
AI_STATE_MELEE_HITBOX_INIT = 30 ,
AI_STATE_MELEE_HITBOX_PRE = 31 ,
AI_STATE_MELEE_HITBOX_ACTIVE = 32 ,
AI_STATE_MELEE_HITBOX_MISS = 33 ,
// projectile hitboxes
AI_STATE_PROJECTILE_HITBOX_30 = 30 ,
AI_STATE_PROJECTILE_HITBOX_31 = 31 ,
AI_STATE_PROJECTILE_HITBOX_32 = 32 ,
AI_STATE_PROJECTILE_HITBOX_33 = 33 ,
} ;
enum EnemyActionFlags {
AI_ACTION_JUMP_WHEN_SEE_PLAYER = 0x01 ,
AI_ACTION_02 = 0x02 ,
AI_ACTION_04 = 0x04 ,
AI_ACTION_08 = 0x08 ,
AI_ACTION_LOOK_AROUND_DURING_LOITER = 0x10 ,
AI_ACTION_20 = 0x20
} ;
enum EnemyDetectFlags {
AI_DETECT_SIGHT = 0x01 ,
AI_DETECT_SENSITIVE_MOTION = 0x02 ,
2023-02-03 07:16:32 +01:00
AI_DETECT_FLAG_8 = 0x08 ,
2022-04-29 06:32:16 +02:00
} ;
2024-10-01 04:50:46 +02:00
enum TerritoryFlags {
2022-04-29 06:32:16 +02:00
AI_TERRITORY_IGNORE_HIDING = 0x01 , // bow and sushi dont prevent enemy detection
AI_TERRITORY_IGNORE_ELEVATION = 0x02 , // vertical size of detection volume is ignored
} ;
enum PiranhaPlantStates {
AI_STATE_PIRANHA_PLANT_00 = 0 ,
AI_STATE_PIRANHA_PLANT_01 = 1 ,
AI_STATE_PIRANHA_PLANT_10 = 10 ,
AI_STATE_PIRANHA_PLANT_11 = 11 ,
AI_STATE_PIRANHA_PLANT_12 = 12 ,
AI_STATE_PIRANHA_PLANT_13 = 13 ,
AI_STATE_PIRANHA_PLANT_14 = 14 ,
AI_STATE_PIRANHA_PLANT_SUSPEND = 99
} ;
enum MeleeHitboxAttackStates {
MELEE_HITBOX_STATE_NONE = 0 ,
MELEE_HITBOX_STATE_INIT = 1 ,
MELEE_HITBOX_STATE_PRE = 2 ,
MELEE_HITBOX_STATE_ACTIVE = 3 , // hitbox is active
MELEE_HITBOX_STATE_POST = 4
} ;
enum ProjectileHitboxAttackStates {
PROJECTILE_HITBOX_STATE_NONE = 0 ,
PROJECTILE_HITBOX_STATE_INIT = 1 ,
PROJECTILE_HITBOX_STATE_PRE = 2 ,
PROJECTILE_HITBOX_STATE_ACTIVE = 3 , // hitbox is active
PROJECTILE_HITBOX_STATE_POST = 4 ,
PROJECTILE_HITBOX_STATE_DONE = 100
} ;
2021-11-11 05:30:59 +01:00
enum MusicSettingsFlags {
2023-01-12 03:09:13 +01:00
MUSIC_SETTINGS_FLAG_1 = 0x00000001 ,
MUSIC_SETTINGS_FLAG_ENABLE_PROXIMITY_MIX = 0x00000002 ,
MUSIC_SETTINGS_FLAG_4 = 0x00000004 ,
MUSIC_SETTINGS_FLAG_8 = 0x00000008 ,
MUSIC_SETTINGS_FLAG_10 = 0x00000010 ,
MUSIC_SETTINGS_FLAG_20 = 0x00000020 ,
2021-11-11 05:30:59 +01:00
} ;
2023-07-18 11:07:58 +02:00
// the lower byte of ColliderFlags
2022-09-13 08:26:57 +02:00
enum SurfaceType {
SURFACE_TYPE_DEFAULT = 0 ,
SURFACE_TYPE_WATER = 1 ,
SURFACE_TYPE_SPIKES = 2 ,
SURFACE_TYPE_LAVA = 3 ,
SURFACE_TYPE_DOCK_WALL = 4 ,
SURFACE_TYPE_SLIDE = 5 ,
SURFACE_TYPE_FLOWERS = 6 ,
SURFACE_TYPE_CLOUD = 7 , ///< used with clouds in flo_19 and flo_21
2022-09-28 19:09:11 +02:00
SURFACE_TYPE_SNOW = 8 ,
2022-09-13 08:26:57 +02:00
SURFACE_TYPE_HEDGES = 9 , ///< used within hedge maze in flo_11
2023-07-18 11:07:58 +02:00
SURFACE_TYPE_INVALID = - 1 ,
2022-09-13 08:26:57 +02:00
} ;
2023-03-04 04:20:43 +01:00
typedef enum SurfaceInteractMode {
SURFACE_INTERACT_WALK = 0 ,
SURFACE_INTERACT_RUN = 1 ,
SURFACE_INTERACT_LAND = 2 ,
} SurfaceInteractMode ;
2023-10-22 14:39:20 +02:00
// flags that can be set on colliders
// passed into collision queries to selectively ignore certain types of objects or colliders
2021-11-11 05:30:59 +01:00
enum ColliderFlags {
2023-07-18 11:07:58 +02:00
COLLIDER_FLAGS_UPPER_MASK = 0x7FFFFE00 , // map data dumper needs this to be first
COLLIDER_FLAGS_SURFACE_TYPE_MASK = 0x000000FF ,
COLLIDER_FLAG_SAFE_FLOOR = 0x00000100 ,
2023-10-22 14:39:20 +02:00
COLLIDER_FLAG_IGNORE_SHELL = 0x00008000 , // colliders marked with this flag are not solid for shells
COLLIDER_FLAG_IGNORE_PLAYER = 0x00010000 , // colliders marked with this flag are not solid for player or partners
COLLIDER_FLAG_IGNORE_NPC = 0x00020000 , // colliders marked with this flag are not solid for npcs or item entities
COLLISION_IGNORE_ENTITIES = 0x00040000 , // used for collision queries, not set for colliders
COLLIDER_FLAG_DOCK_WALL = 0x00080000 ,
COLLISION_ONLY_ENTITIES = 0x00100000 , // used for collision queries, not set for colliders
2023-07-18 11:07:58 +02:00
COLLIDER_FLAG_HAS_MODEL_PARENT = 0x80000000
2022-09-24 22:01:49 +02:00
} ;
enum ColliderFlagsModifyMode {
2022-10-01 03:44:48 +02:00
MODIFY_COLLIDER_FLAGS_SET_BITS = 0 ,
2023-08-21 20:07:08 +02:00
MODIFY_COLLIDER_FLAGS_CLEAR_BITS = 1 ,
MODIFY_COLLIDER_FLAGS_SET_VALUE = 2 ,
MODIFY_COLLIDER_FLAGS_SET_SURFACE = 3 ,
2021-11-11 05:30:59 +01:00
} ;
2023-10-22 14:39:20 +02:00
enum PlayerCollisionTests {
PLAYER_COLLISION_0 = 0 ,
PLAYER_COLLISION_1 = 1 ,
PLAYER_COLLISION_2 = 2 ,
2024-10-08 05:15:38 +02:00
PLAYER_COLLISION_HAMMER = 3 ,
2023-10-22 14:39:20 +02:00
PLAYER_COLLISION_4 = 4 ,
2022-09-24 21:34:16 +02:00
} ;
2021-11-11 05:30:59 +01:00
enum CameraFlags {
2023-10-14 21:43:12 +02:00
CAMERA_FLAG_INITIALIZED = 0x00000001 ,
2023-04-20 10:15:58 +02:00
CAMERA_FLAG_DISABLED = 0x00000002 ,
2023-01-12 03:09:13 +01:00
CAMERA_FLAG_LEAD_PLAYER = 0x00000004 ,
CAMERA_FLAG_SHAKING = 0x00000008 ,
CAMERA_FLAG_ORTHO = 0x00000010 ,
2023-10-14 21:43:12 +02:00
CAMERA_FLAG_NO_DRAW = 0x00000080 ,
2023-01-12 03:09:13 +01:00
CAMERA_FLAG_RENDER_ENTITIES = 0x00000200 ,
CAMERA_FLAG_RENDER_MODELS = 0x00000400 ,
2023-10-14 21:43:12 +02:00
CAMERA_FLAG_SUPRESS_LEADING = 0x00001000 ,
2021-11-11 05:30:59 +01:00
} ;
2022-04-17 17:36:37 +02:00
enum CameraMoveFlags {
2023-01-12 03:09:13 +01:00
CAMERA_MOVE_IGNORE_PLAYER_Y = 0x00000001 ,
2023-10-22 14:39:20 +02:00
CAMERA_MOVE_NO_INTERP_Y = 0x00000002 ,
CAMERA_MOVE_ACCEL_INTERP_Y = 0x00000004 ,
2022-04-17 17:36:37 +02:00
} ;
2024-09-23 20:42:15 +02:00
enum CameraUpdateMode {
// simple camera based on lookAt_eye and lookAt_obj with no blending or interpolation
// control this camera by directly setting these positions
// has no other control parameters
CAM_UPDATE_MINIMAL = 0 ,
// this camera uses a set of control parameters to calculate its target lookAt_obj and lookAt_eye positions,
// then interpolates current positions toward those targets, moving up to half the remaining distance each frame
// the ultimate target is given by lookAt_obj_target
// mostly used for CAM_HUD
CAM_UPDATE_INTERP_POS = 2 ,
// this camera samples camera zones below its targetPos and derives control parameters from their settings,
// interpolating its control parameters when changing zones. these control parameters determine the camera
// position and orientation just like other camera modes.
// note that this code does NOT directly reference the player position in any manner, it is only concerned
// with the camera's targetPos, which must be assigned elsewhere.
// this is the camera used during world gameplay
2023-04-20 10:15:58 +02:00
CAM_UPDATE_FROM_ZONE = 3 ,
2024-09-23 20:42:15 +02:00
// this camera uses a set of control parameters to calculate its lookAt_obj and lookAt_eye positions,
// which are only updated if skipRecalc = FALSE
// the ultimate target is given by lookAt_obj_target, with an offset given by targetPos (?!)
// in practice, this is used for CAM_BATTLE and CAM_TATTLE, with skipRecalc almost always set to FALSE
CAM_UPDATE_NO_INTERP = 6 ,
// this camera tracks lookAt_obj_target in a circular region centered on targetPos. the camera does not update
// unless lookAt_obj_target is greater than a minimum distance from targetPos to prevent wild movements.
CAM_UPDATE_UNUSED_RADIAL = 1 ,
// this camera tracks targetPos, clamped within the rectangular region given by +/- xLimit and +/- zLimit
// y-position is drawn from lookAt_obj_target
// does not use easing or interpolation
CAM_UPDATE_UNUSED_CONFINED = 4 ,
// this camera tracks player position and adds basic 'leading' in the x-direction only
// camera yaw is fixed at zero and the lead direction is determined by player world yaw
// thus, this only works for '2D' style maps where left is -x and right is +x
CAM_UPDATE_UNUSED_LEADING = 5 ,
// this mode is completely unused in vanilla; it doesn't even have a case in update_cameras
// seems to be based on CAM_UPDATE_NO_INTERP (the one used for battle cam)
// tracks a point 400 units ahead of player position in the z-direction and 60 units above
// defaults to a relatively short boom length and no pitch angle, resulting in a head-on direct view
// CAM_UPDATE_UNUSED_AHEAD,
2023-03-02 09:32:54 +01:00
} ;
enum CameraControlType {
// Camera follows the player, using a fixed yaw position.
// Uses: A/B as 2D points
// Yaw is defined by the line segment AB
// flag 0 = free forward movement (follow player)
2023-07-18 11:07:58 +02:00
// flag 1 = lock forward movement (must intersect B)
2023-03-02 09:32:54 +01:00
CAM_CONTROL_FIXED_ORIENTATION = 0 ,
// Camera faces toward or away from a point with the player in the center of the frame.
// Use a negative boom length to look away from a point.
// flag 1 = Constrain to Fixed Radius
CAM_CONTROL_LOOK_AT_POINT = 1 ,
// Camera is contrained to a point along the line segment BC.
// Use these near exits to stop camera movement.
// Uses: A/B/C as 2D points
// The target position is found by projecting player position onto BC along a line orthogonal to AB.
// If posA == posB, AB is ignored and the projection axis will be along a line orthogonal to BC with
// the resulting position being the closest point on BC to the player.
// flag 1 = Freeze Camera Position
CAM_CONTROL_CONSTRAIN_TO_LINE = 2 ,
// Follows the player using whatever yaw value the camera initially possessed.
CAM_CONTROL_FOLLOW_PLAYER = 3 ,
// Both position and yaw are fixed.
CAM_CONTROL_FIXED_POS_AND_ORIENTATION = 4 ,
// Look Toward Point, Constrain to Line
// flag 1 = Freeze Target at Point
CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE = 5 ,
// Camera position is contrained to a line segment, with yaw perpendicular to the line segment.
// flag 1 = Disable Forward Motion
CAM_CONTROL_CONSTAIN_BETWEEN_POINTS = 6 ,
2022-03-28 11:29:47 +02:00
} ;
2024-09-23 20:42:15 +02:00
enum BattleCamPreset {
BTL_CAM_RESET = 0x00 ,
BTL_CAM_INTERRUPT = 0x01 , // forces camera motion to end
BTL_CAM_DEFAULT = 0x02 , // wide shot of the entire arena
BTL_CAM_VIEW_ENEMIES = 0x03 , // broad focus on enemy side of the field
BTL_CAM_RETURN_HOME = 0x04 ,
BTL_CAM_ACTOR_TARGET_MIDPOINT = 0x05 , // focus on midpoint between subject actor and its target
BTL_CAM_ACTOR_PART = 0x06 , // unused
BTL_CAM_ACTOR_GOAL_SIMPLE = 0x07 ,
BTL_CAM_ACTOR_SIMPLE = 0x08 , // same as BTL_CAM_ACTOR, but does not change boom pitch, yaw, or y-offset
BTL_CAM_SLOW_DEFAULT = 0x09 , // unused, same as BTL_CAM_DEFAULT but takes 4x as long
BTL_CAM_MIDPOINT_CLOSE = 0x0A ,
BTL_CAM_MIDPOINT_NORMAL = 0x0B ,
BTL_CAM_MIDPOINT_FAR = 0x0C , // unused
BTL_CAM_ACTOR_CLOSE = 0x0D , // focus on a targeted actor, closer than normal
BTL_CAM_ACTOR = 0x0E , // focus on a targeted actor using typical distance
BTL_CAM_ACTOR_FAR = 0x0F , // focus on a targeted actor, further away than normal
BTL_CAM_ACTOR_GOAL_NEAR = 0x10 , // unused, focus on a targeted actor's goal, closer than normal
BTL_CAM_ACTOR_GOAL = 0x11 , // unused, focus on a targeted actor's goal, using typical distance
BTL_CAM_ACTOR_GOAL_FAR = 0x12 , // unused, focus on a targeted actor's goal, further away than normal
BTL_CAM_REPOSITION = 0x13 , // generic reposition, lerp to target parameters over the next 20 frames
BTL_CAM_FOLLOW_ACTOR_Y = 0x14 , // unused
BTL_CAM_FOLLOW_ACTOR_POS = 0x15 , // unused
BTL_CAM_PLAYER_ENTRY = 0x16 ,
BTL_CAM_VICTORY = 0x17 , // closeup on party while star points are tallied
BTL_CAM_PLAYER_DIES = 0x18 , // closeup on player dying
BTL_CAM_PLAYER_FLEE = 0x19 , // closeup on player while running away
BTL_CAM_PLAYER_ATTACK_APPROACH = 0x1A ,
BTL_CAM_PLAYER_PRE_JUMP_FINISH = 0x1B ,
BTL_CAM_PLAYER_PRE_ULTRA_JUMP_FINISH = 0x1C ,
BTL_CAM_PLAYER_MISTAKE = 0x1D , // player missed a jump or hammer acion command
BTL_CAM_PLAYER_HIT_SPIKE = 0x1E , // player hurt via spike contact
BTL_CAM_PLAYER_HIT_HAZARD = 0x1F , // player hurt via burn or shock contact
BTL_CAM_PLAYER_CHARGE_UP = 0x20 ,
BTL_CAM_PLAYER_STATUS_AFFLICTED = 0x21 ,
BTL_CAM_PLAYER_JUMP_MIDAIR = 0x22 , // move through the air with the player mid-jump
BTL_CAM_PLAYER_JUMP_FINISH = 0x23 , // after a sucessful action command
BTL_CAM_PLAYER_JUMP_FINISH_CLOSE = 0x24 , // unused
BTL_CAM_PLAYER_SUPER_JUMP_MIDAIR = 0x25 , // alternate BTL_CAM_PLAYER_JUMP_MIDAIR associated with an unused script for Super Jump
BTL_CAM_PLAYER_ULTRA_JUMP_MIDAIR = 0x26 , // alternate BTL_CAM_PLAYER_JUMP_MIDAIR associated with an unused script for Ultra Jump
BTL_CAM_PLAYER_UNUSED_ULTRA_JUMP = 0x27 , // unused camera for followup hit of unused script for Ultra Jump
BTL_CAM_PLAYER_MULTIBOUNCE = 0x28 ,
BTL_CAM_PRESET_UNUSED_29 = 0x29 , // unused
BTL_CAM_PRESET_UNUSED_2A = 0x2A , // unused
BTL_CAM_PLAYER_AIM_HAMMER = 0x2B ,
BTL_CAM_PLAYER_HAMMER_STRIKE = 0x2C ,
BTL_CAM_PRESET_UNUSED_2D = 0x2D , // unused, alterative to BTL_CAM_PLAYER_HAMMER_QUAKE
BTL_CAM_PLAYER_HAMMER_QUAKE = 0x2E , // slowly pan over the enemy side
BTL_CAM_PARTNER_APPROACH = 0x2F , // used by Goombario and Watt (power shock only)
BTL_CAM_CLOSER_PARTNER_APPROACH = 0x30 ,
BTL_CAM_PRESET_UNUSED_31 = 0x31 , // unused
BTL_CAM_GOOMBARIO_BONK_FOLLOWUP_1 = 0x32 , // goombario pre-jump 1
BTL_CAM_PARTNER_MISTAKE = 0x33 ,
BTL_CAM_PARTNER_MIDAIR = 0x34 ,
BTL_CAM_GOOMBARIO_BONK_FOLLOWUP_2 = 0x35 , // goombario pre-jump 2
BTL_CAM_PARTNER_INJURED = 0x36 , // closeup on partner after being injured
BTL_CAM_PARTNER_GOOMPA = 0x37 , // focus on Goompa speaking or Goombario charging
BTL_CAM_PRESET_UNUSED_38 = 0x38 , // unused
BTL_CAM_PRESET_UNUSED_39 = 0x39 , // unused
BTL_CAM_PRESET_UNUSED_3A = 0x3A , // unused
BTL_CAM_PARTNER_CLOSE_UP = 0x3B , // close focus on partner, used when kooper or sushie are charging an attack
BTL_CAM_PRESET_UNUSED_3C = 0x3C , // unused
BTL_CAM_PARTNER_HIT_SPIKE = 0x3D , // partner hurt via spike contact
BTL_CAM_PARTNER_HIT_HAZARD = 0x3E , // partner hurt via burn or shock contact
BTL_CAM_ENEMY_APPROACH = 0x3F , // (very common)
BTL_CAM_PRESET_UNUSED_40 = 0x40 , // unused
BTL_CAM_SLOWER_DEFAULT = 0x41 , // unused, same as BTL_CAM_DEFAULT but takes slightly longer
BTL_CAM_ENEMY_DIVE = 0x42 , // used just before contact from dive attacks (paragoomba, para jr troopa, etc)
BTL_CAM_PRESET_UNUSED_43 = 0x43 , // unused
BTL_CAM_PRESET_UNUSED_44 = 0x44 , // unused
BTL_CAM_PLAYER_WISH = 0x45 , // used for Focus and Star Spirit wishing
BTL_CAM_PRESET_UNUSED_46 = 0x46 , // unused
BTL_CAM_PRESET_UNUSED_47 = 0x47 , // unused
BTL_CAM_PRESET_UNUSED_48 = 0x48 , // unused
BTL_CAM_STAR_SPIRIT = 0x49 ,
} ;
enum BattleCamTargetAdjustX {
BTL_CAM_XADJ_NONE = 0 , // use actor X
BTL_CAM_XADJ_AVG = 1 , // use average
} ;
enum BattleCamTargetAdjustY {
BTL_CAM_YADJ_SLIGHT = - 2 , // target y position is weighted 75% actor and 25% target:
BTL_CAM_YADJ_TARGET = - 1 , // use target Y
BTL_CAM_YADJ_NONE = 0 , // use actor Y
BTL_CAM_YADJ_AVG = 1 , // target y position is weighted 66% actor and 33% target:
2022-01-06 17:32:57 +01:00
} ;
2021-11-11 05:30:59 +01:00
enum ModelAnimatorFlags {
2023-01-12 03:09:13 +01:00
MODEL_ANIMATOR_FLAG_CAM_0 = 0x00000001 ,
MODEL_ANIMATOR_FLAG_CAM_1 = 0x00000002 ,
MODEL_ANIMATOR_FLAG_CAM_2 = 0x00000004 ,
MODEL_ANIMATOR_FLAG_CAM_3 = 0x00000008 ,
MODEL_ANIMATOR_FLAG_ENABLED = 0x00000010 ,
MODEL_ANIMATOR_FLAG_20 = 0x00000020 ,
MODEL_ANIMATOR_FLAG_UPDATE_PENDING = 0x00000040 ,
MODEL_ANIMATOR_FLAG_HIDDEN = 0x00000080 ,
MODEL_ANIMATOR_FLAG_FLIP_Z = 0x00000100 ,
MODEL_ANIMATOR_FLAG_FLIP_Y = 0x00000200 ,
MODEL_ANIMATOR_FLAG_FLIP_X = 0x00000400 ,
MODEL_ANIMATOR_FLAG_800 = 0x00000800 ,
MODEL_ANIMATOR_FLAG_HAS_MODEL = 0x00001000 ,
MODEL_ANIMATOR_FLAG_2000 = 0x00002000 ,
MODEL_ANIMATOR_FLAG_4000 = 0x00004000 ,
MODEL_ANIMATOR_FLAG_MESH = 0x00008000 ,
MODEL_ANIMATOR_FLAG_CULL_BACK = 0x00010000 ,
MODEL_ANIMATOR_FLAG_NO_FLIP = 0x00020000 ,
MODEL_ANIMATOR_FLAG_FREEZE_ANIMATION = 0x00040000 ,
MODEL_ANIMATOR_FLAG_80000 = 0x00080000 ,
MODEL_ANIMATOR_FLAG_100000 = 0x00100000 ,
MODEL_ANIMATOR_FLAG_200000 = 0x00200000 ,
MODEL_ANIMATOR_FLAG_400000 = 0x00400000 ,
MODEL_ANIMATOR_FLAG_800000 = 0x00800000 ,
MODEL_ANIMATOR_FLAG_1000000 = 0x01000000 ,
MODEL_ANIMATOR_FLAG_2000000 = 0x02000000 ,
MODEL_ANIMATOR_FLAG_4000000 = 0x04000000 ,
MODEL_ANIMATOR_FLAG_8000000 = 0x08000000 ,
MODEL_ANIMATOR_FLAG_10000000 = 0x10000000 ,
MODEL_ANIMATOR_FLAG_20000000 = 0x20000000 ,
MODEL_ANIMATOR_FLAG_40000000 = 0x40000000 ,
MODEL_ANIMATOR_FLAG_80000000 = 0x80000000 ,
2021-11-11 05:30:59 +01:00
} ;
enum ShopFlags {
2023-10-22 14:39:20 +02:00
SHOP_FLAG_SHOWING_ITEM_INFO = 0x1 ,
SHOP_FLAG_INTERACT_SCRIPT_RUNNING = 0x8 ,
2021-11-11 05:30:59 +01:00
} ;
2023-01-21 09:14:46 +01:00
enum {
SHOP_MSG_BUY_CONFIRM = 0x00 ,
SHOP_MSG_NOT_ENOUGH_COINS = 0x01 ,
SHOP_MSG_NOT_ENOUGH_ROOM = 0x02 ,
SHOP_MSG_BUY_THANK_YOU = 0x03 ,
SHOP_MSG_GREETING = 0x04 ,
SHOP_MSG_INSTRUCTIONS = 0x05 ,
SHOP_MSG_NOTHING_TO_SELL = 0x06 ,
SHOP_MSG_SELL_WHICH = 0x07 ,
SHOP_MSG_SELL_CONFIRM = 0x08 ,
SHOP_MSG_SELL_CANCEL = 0x09 ,
SHOP_MSG_SELL_MORE = 0x0A ,
SHOP_MSG_SELL_THANKS = 0x0B ,
SHOP_MSG_NOTHING_TO_CHECK = 0x0C ,
SHOP_MSG_NO_CHECK_ROOM = 0x0D ,
SHOP_MSG_CHECK_WHICH = 0x0E ,
SHOP_MSG_CHECK_ACCEPTED = 0x0F ,
SHOP_MSG_CHECK_MORE = 0x10 ,
SHOP_MSG_NOTHING_TO_CLAIM = 0x11 ,
SHOP_MSG_NO_CLAIM_ROOM = 0x12 ,
SHOP_MSG_CLAIM_WHICH = 0x13 ,
SHOP_MSG_CLAIM_ACCEPTED = 0x14 ,
SHOP_MSG_CLAIM_MORE = 0x15 ,
SHOP_MSG_FAREWELL = 0x16 ,
} ;
enum {
SHOP_BUY_RESULT_NOT_ENOUGH_COINS = 0 ,
SHOP_BUY_RESULT_OK = 1 ,
SHOP_BUY_RESULT_2 = 2 ,
SHOP_BUY_RESULT_CANCEL = 3 ,
SHOP_BUY_RESULT_4 = 4 ,
SHOP_BUY_RESULT_NOT_ENOUGH_ROOM = 5 ,
} ;
2024-10-08 05:15:38 +02:00
enum EncounterFlags {
ENCOUNTER_FLAG_NONE = 0x00000000 ,
ENCOUNTER_FLAG_THUMBS_UP = 0x00000001 , ///< Mario will do a 'thumbs up' animation after winning
ENCOUNTER_FLAG_CANT_SKIP_WIN_DELAY = 0x00000002 ,
ENCOUNTER_FLAG_SKIP_FLEE_DROPS = 0x00000004 ,
2021-11-11 05:30:59 +01:00
} ;
enum WindowFlags {
2024-10-08 05:15:38 +02:00
WINDOW_FLAG_INITIALIZED = 0x00000001 ,
WINDOW_FLAG_FPUPDATE_CHANGED = 0x00000002 ,
WINDOW_FLAG_HIDDEN = 0x00000004 , ///< Updated but not rendered
WINDOW_FLAG_INITIAL_ANIMATION = 0x00000008 ,
WINDOW_FLAG_HAS_CHILDREN = 0x00000010 ,
WINDOW_FLAG_DISABLED = 0x00000020 , ///< Not updated or rendered
WINDOW_FLAG_40 = 0x00000040 ,
2022-02-13 09:19:59 +01:00
} ;
enum DrawFlags {
2023-01-12 03:09:13 +01:00
DRAW_FLAG_ROTSCALE = 0x00000001 ,
DRAW_FLAG_ANIMATED_BACKGROUND = 0x00000002 ,
DRAW_FLAG_NO_CLIP = 0x00000004 ,
DRAW_FLAG_CULL_BACK = 0x00000008 ,
2021-11-11 05:30:59 +01:00
} ;
enum EntityModelFlags {
2023-01-12 03:09:13 +01:00
ENTITY_MODEL_FLAG_CAM0 = 0x00000001 ,
ENTITY_MODEL_FLAG_CAM1 = 0x00000002 ,
ENTITY_MODEL_FLAG_CAM2 = 0x00000004 ,
ENTITY_MODEL_FLAG_CAM3 = 0x00000008 ,
ENTITY_MODEL_FLAG_ENABLED = 0x00000010 ,
ENTITY_MODEL_FLAG_HIDDEN = 0x00000020 ,
ENTITY_MODEL_FLAG_40 = 0x00000040 ,
ENTITY_MODEL_FLAG_80 = 0x00000080 ,
ENTITY_MODEL_FLAG_100 = 0x00000100 ,
ENTITY_MODEL_FLAG_REFLECT = 0x00000200 ,
ENTITY_MODEL_FLAG_USE_IMAGE = 0x00000400 ,
ENTITY_MODEL_FLAG_FOG_DISABLED = 0x00000800 ,
ENTITY_MODEL_FLAG_1000 = 0x00001000 ,
ENTITY_MODEL_FLAG_2000 = 0x00002000 ,
ENTITY_MODEL_FLAG_4000 = 0x00004000 ,
ENTITY_MODEL_FLAG_8000 = 0x00008000 ,
ENTITY_MODEL_FLAG_10000 = 0x00010000 ,
ENTITY_MODEL_FLAG_DISABLE_SCRIPT = 0x00020000 ,
ENTITY_MODEL_FLAG_40000 = 0x00040000 ,
ENTITY_MODEL_FLAG_80000 = 0x00080000 ,
ENTITY_MODEL_FLAG_100000 = 0x00100000 ,
ENTITY_MODEL_FLAG_200000 = 0x00200000 ,
ENTITY_MODEL_FLAG_400000 = 0x00400000 ,
ENTITY_MODEL_FLAG_800000 = 0x00800000 ,
ENTITY_MODEL_FLAG_1000000 = 0x01000000 ,
ENTITY_MODEL_FLAG_2000000 = 0x02000000 ,
ENTITY_MODEL_FLAG_4000000 = 0x04000000 ,
ENTITY_MODEL_FLAG_8000000 = 0x08000000 ,
ENTITY_MODEL_FLAG_10000000 = 0x10000000 ,
ENTITY_MODEL_FLAG_20000000 = 0x20000000 ,
ENTITY_MODEL_FLAG_40000000 = 0x40000000 ,
ENTITY_MODEL_FLAG_80000000 = 0x80000000 ,
2021-11-11 05:30:59 +01:00
} ;
enum TempSetZoneEnabledFlags {
2023-01-12 03:09:13 +01:00
TEMP_SET_ZONE_ENABLED_FLAG_1 = 0x00000001 ,
TEMP_SET_ZONE_ENABLED_FLAG_2 = 0x00000002 ,
TEMP_SET_ZONE_ENABLED_FLAG_4 = 0x00000004 ,
TEMP_SET_ZONE_ENABLED_FLAG_8 = 0x00000008 ,
TEMP_SET_ZONE_ENABLED_FLAG_10 = 0x00000010 ,
TEMP_SET_ZONE_ENABLED_FLAG_20 = 0x00000020 ,
TEMP_SET_ZONE_ENABLED_FLAG_40 = 0x00000040 ,
TEMP_SET_ZONE_ENABLED_FLAG_80 = 0x00000080 ,
TEMP_SET_ZONE_ENABLED_FLAG_100 = 0x00000100 ,
TEMP_SET_ZONE_ENABLED_FLAG_200 = 0x00000200 ,
TEMP_SET_ZONE_ENABLED_FLAG_400 = 0x00000400 ,
TEMP_SET_ZONE_ENABLED_FLAG_800 = 0x00000800 ,
TEMP_SET_ZONE_ENABLED_FLAG_1000 = 0x00001000 ,
TEMP_SET_ZONE_ENABLED_FLAG_2000 = 0x00002000 ,
TEMP_SET_ZONE_ENABLED_FLAG_4000 = 0x00004000 ,
TEMP_SET_ZONE_ENABLED_FLAG_8000 = 0x00008000 ,
TEMP_SET_ZONE_ENABLED_FLAG_10000 = 0x00010000 ,
TEMP_SET_ZONE_ENABLED_FLAG_20000 = 0x00020000 ,
TEMP_SET_ZONE_ENABLED_FLAG_40000 = 0x00040000 ,
TEMP_SET_ZONE_ENABLED_FLAG_80000 = 0x00080000 ,
TEMP_SET_ZONE_ENABLED_FLAG_100000 = 0x00100000 ,
TEMP_SET_ZONE_ENABLED_FLAG_200000 = 0x00200000 ,
TEMP_SET_ZONE_ENABLED_FLAG_400000 = 0x00400000 ,
TEMP_SET_ZONE_ENABLED_FLAG_800000 = 0x00800000 ,
TEMP_SET_ZONE_ENABLED_FLAG_1000000 = 0x01000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_2000000 = 0x02000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_4000000 = 0x04000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_8000000 = 0x08000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_10000000 = 0x10000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_20000000 = 0x20000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_40000000 = 0x40000000 ,
TEMP_SET_ZONE_ENABLED_FLAG_80000000 = 0x80000000 ,
2021-10-25 12:28:45 +02:00
} ;
2021-11-11 05:30:59 +01:00
enum ModelTransformGroupFlags {
2023-07-18 11:07:58 +02:00
TRANSFORM_GROUP_FLAG_VALID = 0x00000001 ,
TRANSFORM_GROUP_FLAG_HIDDEN = 0x00000002 , // update, but do not render
TRANSFORM_GROUP_FLAG_INACTIVE = 0x00000004 ,
TRANSFORM_GROUP_FLAG_HAS_TRANSFORM = 0x00000400 ,
TRANSFORM_GROUP_FLAG_MATRIX_DIRTY = 0x00001000 ,
TRANSFORM_GROUP_FLAG_IGNORE_MATRIX = 0x00002000 , // set until dirty matrix has been recalculated
2021-11-11 05:30:59 +01:00
} ;
enum NpcDropFlags {
2023-01-12 03:09:13 +01:00
NPC_DROP_FLAG_80 = 0x80 ,
2021-11-11 05:30:59 +01:00
} ;
2023-04-20 10:15:58 +02:00
enum ImgFXStateFlags {
2023-07-18 11:07:58 +02:00
IMGFX_FLAG_VALID = 0x00000001 ,
2023-04-20 10:15:58 +02:00
IMGFX_FLAG_G_CULL_BACK = 0x00000002 ,
IMGFX_FLAG_G_CULL_FRONT = 0x00000004 ,
IMGFX_FLAG_8 = 0x00000008 ,
IMGFX_FLAG_SKIP_GFX_SETUP = 0x00000010 ,
IMGFX_FLAG_SKIP_TEX_SETUP = 0x00000020 ,
IMGFX_FLAG_40 = 0x00000040 ,
IMGFX_FLAG_LOOP_ANIM = 0x00000080 ,
IMGFX_FLAG_REVERSE_ANIM = 0x00000100 , // fold animation plays backwards (from end to start)
IMGFX_FLAG_200 = 0x00000200 ,
IMGFX_FLAG_400 = 0x00000400 ,
IMGFX_FLAG_800 = 0x00000800 ,
IMGFX_FLAG_ANIM_DONE = 0x00001000 ,
IMGFX_FLAG_2000 = 0x00002000 ,
IMGFX_FLAG_4000 = 0x00004000 ,
IMGFX_FLAG_8000 = 0x00008000 ,
IMGFX_FLAG_NO_FILTERING = 0x00010000 ,
IMGFX_FLAG_20000 = 0x00020000 ,
IMGFX_FLAG_40000 = 0x00040000 ,
IMGFX_FLAG_80000 = 0x00080000 ,
IMGFX_FLAG_100000 = 0x00100000 ,
} ;
typedef enum ImgFXType {
IMGFX_CLEAR = 0x0 ,
IMGFX_UNK_1 = 0x1 , // unused?
IMGFX_UNK_2 = 0x2 , // unused?
IMGFX_RESET = 0x3 , // after goomba 'sticker' ambush in kmr_09 unfurls. might be to force-terminate ANIM.
IMGFX_SET_WAVY = 0x4 , // Kolorado when injured and Sushie when underwater (* note: Sushie fold rendering is bugged and only occurs *before* going underwater)
IMGFX_SET_ANIM = 0x5 ,
IMGFX_SET_COLOR = 0x6 , // modulate color (args: R, G, B)
IMGFX_SET_ALPHA = 0x7 , // modulate alpha (args: A)
IMGFX_SET_TINT = 0x8 , // modulate color+alpha (args: R, G, B, A)
IMGFX_SET_WHITE_FADE = 0x9 ,
IMGFX_SET_CREDITS_FADE = 0xA ,
IMGFX_COLOR_BUF_SET_MULTIPLY = 0xB ,
2023-04-29 09:19:30 +02:00
IMGFX_COLOR_BUF_SET_MODULATE = 0xC , // used for color cycling on Monstar's outline
2023-04-20 10:15:58 +02:00
IMGFX_HOLOGRAM = 0xD , // ghostly star spirits and merlar (args: ???, staticAmt, ???, alphaAmt)
IMGFX_FILL_COLOR = 0xE , // used to create boss silhouettes in chapter introduction sceens
IMGFX_OVERLAY = 0xF ,
IMGFX_OVERLAY_XLU = 0x10 , // unused?
2023-04-29 09:19:30 +02:00
IMGFX_ALLOC_COLOR_BUF = 0x11 , // (args: count) creates buffer to set color of 'count' vertices
2023-04-20 10:15:58 +02:00
} ImgFXType ;
typedef enum ImgFXAnim {
IMGFX_ANIM_SHOCK = 0x00 , // used for Goombaria and Goompapa when Kammy drops the hammer block
IMGFX_ANIM_SHIVER = 0x01 , // used when Goombaria gives Mario a kiss
IMGFX_ANIM_VERTICAL_PIPE_CURL = 0x02 , // vertical pipe curl
IMGFX_ANIM_HORIZONTAL_PIPE_CURL = 0x03 , // horizontal pipe curl
IMGFX_ANIM_STARTLE = 0x04 , // used when Koopa Bros are surprised by Mario
IMGFX_ANIM_FLUTTER_DOWN = 0x05 , // player falling like paper
IMGFX_ANIM_UNFURL = 0x06 , // used by Goomba 'stickers' that ambush Mario in area_kmr
IMGFX_ANIM_GET_IN_BED = 0x07 , // Mario gets into bed
IMGFX_ANIM_SPIRIT_CAPTURE = 0x08 , // Eldstar being captured
IMGFX_ANIM_UNUSED_1 = 0x09 , // unused
IMGFX_ANIM_UNUSED_2 = 0x0A , // unused
IMGFX_ANIM_UNUSED_3 = 0x0B , // unused
IMGFX_ANIM_TUTANKOOPA_GATHER = 0x0C , // tutankoopa 3
IMGFX_ANIM_TUTANKOOPA_SWIRL_2 = 0x0D , // tutankoopa 2
IMGFX_ANIM_TUTANKOOPA_SWIRL_1 = 0x0E , // tutankoopa 1
IMGFX_ANIM_SHUFFLE_CARDS = 0x0F , // merlee spell-casting card shuffle
IMGFX_ANIM_FLIP_CARD_1 = 0x10 , // merlee spell-casting card flip 1
IMGFX_ANIM_FLIP_CARD_2 = 0x11 , // merlee spell-casting card flip 2
IMGFX_ANIM_FLIP_CARD_3 = 0x12 , // merlee spell-casting card flip 3
IMGFX_ANIM_CYMBAL_CRUSH = 0x13 , // used when Mario is crushed in a Cymbal Plant
} ImgFXAnim ;
typedef enum ImgFXRenderType {
IMGFX_RENDER_DEFAULT = 0x00 ,
IMGFX_RENDER_MULTIPLY_RGB = 0x01 ,
IMGFX_RENDER_MULTIPLY_ALPHA = 0x02 ,
IMGFX_RENDER_MULTIPLY_RGBA = 0x03 ,
IMGFX_RENDER_MODULATE_PRIM_RGB = 0x04 ,
IMGFX_RENDER_MODULATE_PRIM_RGBA = 0x05 ,
IMGFX_RENDER_MULTIPLY_SHADE_RGB = 0x06 ,
IMGFX_RENDER_MULTIPLY_SHADE_ALPHA = 0x07 ,
IMGFX_RENDER_MULTIPLY_SHADE_RGBA = 0x08 ,
IMGFX_RENDER_MODULATE_SHADE_RGB = 0x09 ,
IMGFX_RENDER_MODULATE_SHADE_RGBA = 0x0A ,
IMGFX_RENDER_ANIM = 0x0B ,
IMGFX_RENDER_HOLOGRAM = 0x0C ,
IMGFX_RENDER_COLOR_FILL = 0x0D ,
IMGFX_RENDER_OVERLAY_RGB = 0x0E ,
IMGFX_RENDER_OVERLAY_RGBA = 0x0F ,
IMGFX_RENDER_UNUSED = 0x10 ,
} ImgFXRenderType ;
enum ImgFXRenderModeFlags {
IMGFX_RENDER_NO_OVERRIDE = 1 ,
} ;
typedef enum ImgFXMeshType {
IMGFX_MESH_DEFAULT = 0x0 ,
IMGFX_MESH_GRID_WAVY = 0x1 ,
IMGFX_MESH_ANIMATED = 0x2 ,
IMGFX_MESH_GRID_UNUSED = 0x3 ,
IMGFX_MESH_STRIP = 0x4 ,
} ImgFXMeshType ;
enum ImgFXHologramTypes {
IMGFX_HOLOGRAM_NOISE = 0 ,
IMGFX_HOLOGRAM_DITHER = 1 ,
IMGFX_HOLOGRAM_THRESHOLD = 2 ,
} ;
enum SpriteCompImgFXFlags {
SPR_IMGFX_FLAG_10000000 = 0x10000000 ,
SPR_IMGFX_FLAG_20000000 = 0x20000000 ,
SPR_IMGFX_FLAG_40000000 = 0x40000000 ,
SPR_IMGFX_FLAG_80000000 = 0x80000000 ,
SPR_IMGFX_FLAG_ALL = 0xF0000000 ,
} ;
2023-02-03 07:16:32 +01:00
2024-01-16 05:56:57 +01:00
enum SpriteShadingFlags {
SPR_SHADING_FLAG_ENABLED = 1 ,
SPR_SHADING_FLAG_SET_VIEWPORT = 2 , // never set
} ;
2022-05-18 09:53:28 +02:00
enum MoveType {
MOVE_TYPE_NONE = 0 ,
MOVE_TYPE_HAMMER = 1 ,
MOVE_TYPE_JUMP = 2 ,
MOVE_TYPE_3 = 3 ,
MOVE_TYPE_ITEMS = 4 ,
2023-01-15 10:22:41 +01:00
MOVE_TYPE_SWITCH = 5 ,
2022-05-18 09:53:28 +02:00
MOVE_TYPE_6 = 6 ,
MOVE_TYPE_ATTACK_UP = 7 ,
MOVE_TYPE_DEFENSE_UP = 8 ,
MOVE_TYPE_9 = 9 ,
MOVE_TYPE_STAR_POWER = 10 ,
MOVE_TYPE_PARTNER = 11
2021-12-24 15:21:03 +01:00
} ;
2022-05-18 09:53:28 +02:00
enum BattleMenuStatus {
2021-12-24 15:21:03 +01:00
BATTLE_SUBMENU_STATUS_ENABLED = 1 ,
BATTLE_SUBMENU_STATUS_NOT_ENOUGH_FP = 0 ,
BATTLE_SUBMENU_STATUS_NO_TARGETS = - 1 ,
BATTLE_SUBMENU_STATUS_NO_TARGETS_2 = - 2 , // TODO: determine difference, probably uses a different error message
} ;
2022-01-01 14:08:04 +01:00
enum DictionaryIndex {
DICTIONARY_KEY = 0 ,
DICTIONARY_VALUE = 1 ,
DICTIONARY_SIZE ,
} ;
2024-10-24 02:18:00 +02:00
enum WindowID {
WIN_NONE = - 1 ,
WIN_UNUSED_0 = 0 ,
WIN_BTL_MOVES_MENU = 1 ,
WIN_BTL_MOVES_TITLE = 2 ,
WIN_BTL_MOVES_ICON = 3 ,
WIN_BTL_SPIRITS_TITLE = 4 ,
WIN_BTL_SPIRITS_ICON = 5 ,
WIN_BTL_STRATS_MENU = 6 ,
WIN_BTL_STRATS_TITLE = 7 ,
WIN_BTL_DESC_BOX = 8 , // strats and level up menus
WIN_BTL_POPUP = 9 ,
WIN_SHOP_ITEM_NAME = 10 ,
WIN_SHOP_ITEM_DESC = 11 ,
WIN_PICKUP_HEADER = 12 ,
WIN_UNUSED_13 = 13 , // unused
WIN_POPUP_CONTENT = 14 ,
WIN_POPUP_TITLE_A = 15 ,
WIN_POPUP_COST = 16 ,
WIN_POPUP_TITLE_B = 17 , // brown box used for "Throw away an item" and certain popup titles
WIN_PARTNER_COST = 18 ,
WIN_POPUP_DESC = 19 ,
WIN_CURRENCY_COUNTER = 20 ,
WIN_POPUP_PROMPT = 21 ,
WIN_PAUSE_MAIN = 22 ,
WIN_PAUSE_DECRIPTION = 23 ,
WIN_FILES_CURSOR = 23 , // same as previous
WIN_PAUSE_TUTORIAL = 24 ,
WIN_FILES_COPYARROW = 24 , // same as previous
WIN_PAUSE_TAB_STATS = 25 ,
WIN_PAUSE_TAB_BADGES = 26 ,
WIN_PAUSE_TAB_ITEMS = 27 ,
WIN_PAUSE_TAB_PARTY = 28 ,
WIN_PAUSE_TAB_SPIRITS = 29 ,
WIN_PAUSE_TAB_MAP = 30 ,
WIN_PAUSE_STATS = 31 ,
WIN_PAUSE_BADGES = 32 ,
WIN_PAUSE_ITEMS = 33 ,
WIN_PAUSE_PARTNERS = 34 ,
WIN_PAUSE_PARTNERS_TITLE = 35 ,
WIN_PAUSE_PARTNERS_MOVELIST = 36 ,
WIN_PAUSE_PARTNERS_MOVELIST_TITLE = 37 ,
WIN_PAUSE_PARTNERS_MOVELIST_FLOWER = 38 ,
WIN_PAUSE_SPIRITS = 39 ,
WIN_PAUSE_SPIRITS_TITLE = 40 ,
WIN_PAUSE_MAP = 41 ,
WIN_PAUSE_MAP_TITLE = 42 ,
WIN_PAUSE_TAB_INVIS = 43 ,
WIN_PAUSE_CURSOR = 44 ,
WIN_FILES_MAIN = 44 , // same as previous
WIN_FILES_TITLE = 45 ,
WIN_FILES_CONFIRM_PROMPT = 46 ,
WIN_FILES_MESSAGE = 47 ,
WIN_FILES_INPUT_FIELD = 48 ,
WIN_FILES_INPUT_KEYBOARD = 49 ,
WIN_FILES_CONFIRM_OPTIONS = 50 ,
WIN_FILES_STEREO = 51 ,
WIN_FILES_MONO = 52 ,
WIN_FILES_OPTION_LEFT = 53 ,
WIN_FILES_OPTION_CENTER = 54 ,
WIN_FILES_OPTION_RIGHT = 55 ,
WIN_FILES_SLOT1_BODY = 56 ,
WIN_FILES_SLOT2_BODY = 57 ,
WIN_FILES_SLOT3_BODY = 58 ,
WIN_FILES_SLOT4_BODY = 59 ,
WIN_FILES_SLOT1_TITLE = 60 ,
WIN_FILES_SLOT2_TITLE = 61 ,
WIN_FILES_SLOT3_TITLE = 62 ,
WIN_FILES_SLOT4_TITLE = 63 ,
2022-02-08 19:24:51 +01:00
} ;
2022-02-13 09:19:59 +01:00
enum SimpleWindowUpdateId {
WINDOW_UPDATE_SHOW = 1 ,
WINDOW_UPDATE_HIDE = 2 ,
WINDOW_UPDATE_HIER_UPDATE = 3 ,
WINDOW_UPDATE_DARKENED = 4 ,
WINDOW_UPDATE_TRANSPARENT = 5 ,
WINDOW_UPDATE_OPAQUE = 6 ,
WINDOW_UPDATE_SHOW_TRANSPARENT = 7 ,
WINDOW_UPDATE_SHOW_DARKENED = 8 ,
2022-11-16 10:46:50 +01:00
WINDOW_UPDATE_9 = 9 ,
2022-02-13 09:19:59 +01:00
} ;
enum WindowGroupId {
WINDOW_GROUP_ALL = 0 ,
2024-10-24 02:18:00 +02:00
WINDOW_GROUP_BATTLE = 1 ,
WINDOW_GROUP_PAUSE = 2 ,
WINDOW_GROUP_FILES = 3 ,
2022-02-13 09:19:59 +01:00
} ;
2022-02-19 17:46:27 +01:00
enum RushFlags {
RUSH_FLAG_NONE = 0 ,
RUSH_FLAG_MEGA = 1 ,
RUSH_FLAG_POWER = 2 ,
} ;
2022-03-26 12:47:10 +01:00
enum FileMenuMessages {
2023-05-01 09:40:57 +02:00
/* 0 */ FILE_MESSAGE_NONE ,
/* 1 */ FILE_MESSAGE_SELECT_FILE_TO_START , // Select file to start:[End]
/* 2 */ FILE_MESSAGE_SELECT_FILE_TO_DELETE , // Select file to delete:[End]
# if !VERSION_PAL
/* 3 */ FILE_MESSAGE_SELECT_FILE_TO_SAVE , // Select file to save[End]
# endif
/* 4 */ FILE_MESSAGE_COPY_WHICH_FILE , // Copy which file?[End]
/* 5 */ FILE_MESSAGE_COPY_TO_WHICH_FILE , // Copy to which file?[End]
/* 6 */ FILE_MESSAGE_NEW , // NEW[End]
/* 7 */ FILE_MESSAGE_LEVEL , // Level[End]
/* 8 */ FILE_MESSAGE_PLAY_TIME , // Play Time[End]
/* 9 */ FILE_MESSAGE_DELETE_FILE , // Delete File[End]
/* 10 */ FILE_MESSAGE_CANCEL , // Cancel[End]
/* 11 */ FILE_MESSAGE_COPY_FILE , // Copy File[End]
/* 12 */ FILE_MESSAGE_FIRST_PLAY , // First Play[End]
/* 13 */ FILE_MESSAGE_PERIOD_13 , // .[End]
/* 14 */ FILE_MESSAGE_YES , // Yes[End]
/* 15 */ FILE_MESSAGE_NO , // No[End]
/* 16 */ FILE_MESSAGE_DELETE , // Delete[End]
/* 17 */ FILE_MESSAGE_OVERRIDE_TO_NEW_DATA , // Override to New Data[End]
/* 18 */ FILE_MESSAGE_SAVE_OK , // Save OK?[End]
/* 19 */ FILE_MESSAGE_FILE_NAME_IS , // File name is :[End]
/* 20 */ FILE_MESSAGE_PERIOD_20 , // .[End]
/* 21 */ FILE_MESSAGE_OK , // OK?[End]
/* 22 */ FILE_MESSAGE_FILE_22 , // File[End]
/* 23 */ FILE_MESSAGE_WILL_BE_DELETED , // will be deleted.[End]
/* 24 */ FILE_MESSAGE_OK_TO_COPY_TO_THIS_FILE , // OK to copy to this file?[End]
/* 25 */ FILE_MESSAGE_START_GAME_WITH , // Start game with[End]
/* 26 */ FILE_MESSAGE_FILE_26 , // File[End]
/* 27 */ FILE_MESSAGE_HAS_BEEN_DELETED , // has been deleted.[End]
/* 28 */ FILE_MESSAGE_28 , // [End]
/* 29 */ FILE_MESSAGE_COPY_FROM , // Copy from[End]
/* 30 */ FILE_MESSAGE_TO , // to[End]
/* 31 */ FILE_MESSAGE_HAS_BEEN_CREATED , // has been created.[End]
# if VERSION_PAL
// TODO: determine where these new entries should be placed
2024-10-31 01:21:15 +01:00
FILE_MESSAGE_PAL_UNK1 ,
FILE_MESSAGE_PAL_UNK2 ,
2023-05-01 09:40:57 +02:00
# endif
/* 32 */ FILE_MESSAGE_ENTER_A_FILE_NAME , // Enter a file name![End]
/* 33 */ FILE_MESSAGE_QUESTION , // ?[End]
/* 34 */ FILE_MESSAGE_PERIOD_34 , // .[End]
2023-07-10 07:57:27 +02:00
# if VERSION_PAL
2024-10-31 01:21:15 +01:00
FILE_MESSAGE_PAL_UNK3 ,
2023-07-10 07:57:27 +02:00
# endif
2022-03-26 12:47:10 +01:00
} ;
2022-04-05 11:52:06 +02:00
// specifically used with draw_msg, not to be confused with MsgStyles
enum DrawMsgStyleFlags {
DRAW_MSG_STYLE_MENU = 1 , // slightly higher baseline with smaller fullspace widths
DRAW_MSG_STYLE_WAVY = 2 ,
DRAW_MSG_STYLE_RAINBOW = 4 ,
2022-11-02 13:30:07 +01:00
DRAW_MSG_STYLE_DROP_SHADOW = 8 ,
} ;
// used with draw_number
enum DrawNumberStyleFlags {
2023-02-25 09:30:02 +01:00
DRAW_NUMBER_STYLE_ALIGN_RIGHT = 1 , ///< drawn to the left of posX
DRAW_NUMBER_STYLE_MONOSPACE = 2 ,
DRAW_NUMBER_STYLE_MONOSPACE_RIGHT = 3 , // combination of MONOSPACE and ALIGN_RIGHT
DRAW_NUMBER_STYLE_DROP_SHADOW = 4 ,
2022-11-02 13:30:07 +01:00
} ;
enum DrawNumberCharsets {
DRAW_NUMBER_CHARSET_NORMAL = 0 ,
DRAW_NUMBER_CHARSET_THIN = 1 ,
2022-04-05 11:52:06 +02:00
} ;
enum MsgPalettes {
MSG_PAL_WHITE = 0x00 ,
MSG_PAL_TEAL = 0x01 ,
MSG_PAL_BLUE = 0x02 ,
MSG_PAL_GREEN = 0x03 ,
MSG_PAL_LIME = 0x04 ,
MSG_PAL_YELLOW = 0x05 ,
MSG_PAL_ORANGE = 0x06 ,
MSG_PAL_RED = 0x07 ,
MSG_PAL_PURPLE = 0x08 ,
MSG_PAL_PINK = 0x09 ,
MSG_PAL_STANDARD = 0x0A ,
MSG_PAL_0B = 0x0B ,
MSG_PAL_0C = 0x0C ,
MSG_PAL_0D = 0x0D ,
MSG_PAL_0E = 0x0E ,
MSG_PAL_0F = 0x0F ,
MSG_PAL_10 = 0x10 ,
MSG_PAL_11 = 0x11 ,
MSG_PAL_12 = 0x12 ,
MSG_PAL_13 = 0x13 ,
MSG_PAL_14 = 0x14 ,
MSG_PAL_15 = 0x15 ,
MSG_PAL_16 = 0x16 ,
MSG_PAL_17 = 0x17 ,
MSG_PAL_18 = 0x18 ,
MSG_PAL_19 = 0x19 ,
MSG_PAL_1A = 0x1A ,
MSG_PAL_1B = 0x1B ,
MSG_PAL_1C = 0x1C ,
MSG_PAL_1D = 0x1D ,
MSG_PAL_1E = 0x1E ,
MSG_PAL_1F = 0x1F ,
MSG_PAL_20 = 0x20 ,
MSG_PAL_21 = 0x21 ,
MSG_PAL_22 = 0x22 ,
MSG_PAL_23 = 0x23 ,
MSG_PAL_24 = 0x24 ,
MSG_PAL_25 = 0x25 ,
MSG_PAL_26 = 0x26 ,
MSG_PAL_27 = 0x27 ,
MSG_PAL_28 = 0x28 ,
MSG_PAL_29 = 0x29 ,
MSG_PAL_2A = 0x2A ,
MSG_PAL_2B = 0x2B ,
MSG_PAL_2C = 0x2C ,
MSG_PAL_2D = 0x2D ,
MSG_PAL_2E = 0x2E ,
MSG_PAL_2F = 0x2F ,
MSG_PAL_30 = 0x30 ,
MSG_PAL_31 = 0x31 ,
MSG_PAL_32 = 0x32 ,
MSG_PAL_33 = 0x33 ,
MSG_PAL_34 = 0x34 ,
MSG_PAL_35 = 0x35 ,
MSG_PAL_36 = 0x36 ,
MSG_PAL_37 = 0x37 ,
MSG_PAL_38 = 0x38 ,
MSG_PAL_39 = 0x39 ,
MSG_PAL_3A = 0x3A ,
MSG_PAL_3B = 0x3B ,
MSG_PAL_3C = 0x3C ,
MSG_PAL_3D = 0x3D ,
MSG_PAL_3E = 0x3E ,
MSG_PAL_3F = 0x3F ,
MSG_PAL_40 = 0x40 ,
MSG_PAL_41 = 0x41 ,
MSG_PAL_42 = 0x42 ,
MSG_PAL_43 = 0x43 ,
MSG_PAL_44 = 0x44 ,
MSG_PAL_45 = 0x45 ,
MSG_PAL_46 = 0x46 ,
MSG_PAL_47 = 0x47 ,
MSG_PAL_48 = 0x48 ,
MSG_PAL_49 = 0x49 ,
MSG_PAL_4A = 0x4A ,
MSG_PAL_4B = 0x4B ,
MSG_PAL_4C = 0x4C ,
MSG_PAL_4D = 0x4D ,
MSG_PAL_4E = 0x4E ,
MSG_PAL_4F = 0x4F ,
MSG_PAL_50 = 0x50
} ;
enum MsgChars {
2024-01-16 06:13:54 +01:00
# if VERSION_JP
// Variant 0 - Hiragana, Katakana, Numeric, Fullwidth Symbols
MSG_CHAR_HIRAGANA_A = 0x00 ,
MSG_CHAR_HIRAGANA_I = 0x01 ,
MSG_CHAR_HIRAGANA_U = 0x02 ,
MSG_CHAR_HIRAGANA_E = 0x03 ,
MSG_CHAR_HIRAGANA_O = 0x04 ,
MSG_CHAR_HIRAGANA_KA = 0x05 ,
MSG_CHAR_HIRAGANA_KI = 0x06 ,
MSG_CHAR_HIRAGANA_KU = 0x07 ,
MSG_CHAR_HIRAGANA_KE = 0x08 ,
MSG_CHAR_HIRAGANA_KO = 0x09 ,
MSG_CHAR_HIRAGANA_SA = 0x0A ,
MSG_CHAR_HIRAGANA_SI = 0x0B ,
MSG_CHAR_HIRAGANA_SU = 0x0C ,
MSG_CHAR_HIRAGANA_SE = 0x0D ,
MSG_CHAR_HIRAGANA_SO = 0x0E ,
MSG_CHAR_HIRAGANA_TA = 0x0F ,
MSG_CHAR_HIRAGANA_TI = 0x10 ,
MSG_CHAR_HIRAGANA_TU = 0x11 ,
MSG_CHAR_HIRAGANA_TE = 0x12 ,
MSG_CHAR_HIRAGANA_TO = 0x13 ,
MSG_CHAR_HIRAGANA_NA = 0x14 ,
MSG_CHAR_HIRAGANA_NI = 0x15 ,
MSG_CHAR_HIRAGANA_NU = 0x16 ,
MSG_CHAR_HIRAGANA_NE = 0x17 ,
MSG_CHAR_HIRAGANA_NO = 0x18 ,
MSG_CHAR_HIRAGANA_HA = 0x19 ,
MSG_CHAR_HIRAGANA_HI = 0x1A ,
MSG_CHAR_HIRAGANA_HU = 0x1B ,
MSG_CHAR_HIRAGANA_HE = 0x1C ,
MSG_CHAR_HIRAGANA_HO = 0x1D ,
MSG_CHAR_HIRAGANA_MA = 0x1E ,
MSG_CHAR_HIRAGANA_MI = 0x1F ,
MSG_CHAR_HIRAGANA_MU = 0x20 ,
MSG_CHAR_HIRAGANA_ME = 0x21 ,
MSG_CHAR_HIRAGANA_MO = 0x22 ,
MSG_CHAR_HIRAGANA_YA = 0x23 ,
MSG_CHAR_HIRAGANA_YU = 0x24 ,
MSG_CHAR_HIRAGANA_YO = 0x25 ,
MSG_CHAR_HIRAGANA_RA = 0x26 ,
MSG_CHAR_HIRAGANA_RI = 0x27 ,
MSG_CHAR_HIRAGANA_RU = 0x28 ,
MSG_CHAR_HIRAGANA_RE = 0x29 ,
MSG_CHAR_HIRAGANA_RO = 0x2A ,
MSG_CHAR_HIRAGANA_WA = 0x2B ,
MSG_CHAR_HIRAGANA_WO = 0x2C ,
MSG_CHAR_HIRAGANA_N = 0x2D ,
MSG_CHAR_HIRAGANA_VU = 0x2E ,
MSG_CHAR_HIRAGANA_GA = 0x2F ,
MSG_CHAR_HIRAGANA_GI = 0x30 ,
MSG_CHAR_HIRAGANA_GU = 0x31 ,
MSG_CHAR_HIRAGANA_GE = 0x32 ,
MSG_CHAR_HIRAGANA_GO = 0x33 ,
MSG_CHAR_HIRAGANA_ZA = 0x34 ,
MSG_CHAR_HIRAGANA_ZI = 0x35 ,
MSG_CHAR_HIRAGANA_ZU = 0x36 ,
MSG_CHAR_HIRAGANA_ZE = 0x37 ,
MSG_CHAR_HIRAGANA_ZO = 0x38 ,
MSG_CHAR_HIRAGANA_DA = 0x39 ,
MSG_CHAR_HIRAGANA_DI = 0x3A ,
MSG_CHAR_HIRAGANA_DU = 0x3B ,
MSG_CHAR_HIRAGANA_DE = 0x3C ,
MSG_CHAR_HIRAGANA_DO = 0x3D ,
MSG_CHAR_HIRAGANA_BA = 0x3E ,
MSG_CHAR_HIRAGANA_BI = 0x3F ,
MSG_CHAR_HIRAGANA_BU = 0x40 ,
MSG_CHAR_HIRAGANA_BE = 0x41 ,
MSG_CHAR_HIRAGANA_BO = 0x42 ,
MSG_CHAR_HIRAGANA_PA = 0x43 ,
MSG_CHAR_HIRAGANA_PI = 0x44 ,
MSG_CHAR_HIRAGANA_PU = 0x45 ,
MSG_CHAR_HIRAGANA_PE = 0x46 ,
MSG_CHAR_HIRAGANA_PO = 0x47 ,
MSG_CHAR_HIRAGANA_SMALL_A = 0x48 ,
MSG_CHAR_HIRAGANA_SMALL_I = 0x49 ,
MSG_CHAR_HIRAGANA_SMALL_U = 0x4A ,
MSG_CHAR_HIRAGANA_SMALL_E = 0x4B ,
MSG_CHAR_HIRAGANA_SMALL_O = 0x4C ,
MSG_CHAR_HIRAGANA_SMALL_TU = 0x4D ,
MSG_CHAR_HIRAGANA_SMALL_YA = 0x4E ,
MSG_CHAR_HIRAGANA_SMALL_YU = 0x4F ,
MSG_CHAR_HIRAGANA_SMALL_YO = 0x50 ,
MSG_CHAR_KATAKANA_A = 0x51 ,
MSG_CHAR_KATAKANA_I = 0x52 ,
MSG_CHAR_KATAKANA_U = 0x53 ,
MSG_CHAR_KATAKANA_E = 0x54 ,
MSG_CHAR_KATAKANA_O = 0x55 ,
MSG_CHAR_KATAKANA_KA = 0x56 ,
MSG_CHAR_KATAKANA_KI = 0x57 ,
MSG_CHAR_KATAKANA_KU = 0x58 ,
MSG_CHAR_KATAKANA_KE = 0x59 ,
MSG_CHAR_KATAKANA_KO = 0x5A ,
MSG_CHAR_KATAKANA_SA = 0x5B ,
MSG_CHAR_KATAKANA_SI = 0x5C ,
MSG_CHAR_KATAKANA_SU = 0x5D ,
MSG_CHAR_KATAKANA_SE = 0x5E ,
MSG_CHAR_KATAKANA_SO = 0x5F ,
MSG_CHAR_KATAKANA_TA = 0x60 ,
MSG_CHAR_KATAKANA_TI = 0x61 ,
MSG_CHAR_KATAKANA_TU = 0x62 ,
MSG_CHAR_KATAKANA_TE = 0x63 ,
MSG_CHAR_KATAKANA_TO = 0x64 ,
MSG_CHAR_KATAKANA_NA = 0x65 ,
MSG_CHAR_KATAKANA_NI = 0x66 ,
MSG_CHAR_KATAKANA_NU = 0x67 ,
MSG_CHAR_KATAKANA_NE = 0x68 ,
MSG_CHAR_KATAKANA_NO = 0x69 ,
MSG_CHAR_KATAKANA_HA = 0x6A ,
MSG_CHAR_KATAKANA_HI = 0x6B ,
MSG_CHAR_KATAKANA_HU = 0x6C ,
MSG_CHAR_KATAKANA_HE = 0x6D ,
MSG_CHAR_KATAKANA_HO = 0x6E ,
MSG_CHAR_KATAKANA_MA = 0x6F ,
MSG_CHAR_KATAKANA_MI = 0x70 ,
MSG_CHAR_KATAKANA_MU = 0x71 ,
MSG_CHAR_KATAKANA_ME = 0x72 ,
MSG_CHAR_KATAKANA_MO = 0x73 ,
MSG_CHAR_KATAKANA_YA = 0x74 ,
MSG_CHAR_KATAKANA_YU = 0x75 ,
MSG_CHAR_KATAKANA_YO = 0x76 ,
MSG_CHAR_KATAKANA_RA = 0x77 ,
MSG_CHAR_KATAKANA_RI = 0x78 ,
MSG_CHAR_KATAKANA_RU = 0x79 ,
MSG_CHAR_KATAKANA_RE = 0x7A ,
MSG_CHAR_KATAKANA_RO = 0x7B ,
MSG_CHAR_KATAKANA_WA = 0x7C ,
MSG_CHAR_KATAKANA_WO = 0x7D ,
MSG_CHAR_KATAKANA_N = 0x7E ,
MSG_CHAR_KATAKANA_VU = 0x7F ,
MSG_CHAR_KATAKANA_GA = 0x80 ,
MSG_CHAR_KATAKANA_GI = 0x81 ,
MSG_CHAR_KATAKANA_GU = 0x82 ,
MSG_CHAR_KATAKANA_GE = 0x83 ,
MSG_CHAR_KATAKANA_GO = 0x84 ,
MSG_CHAR_KATAKANA_ZA = 0x85 ,
MSG_CHAR_KATAKANA_ZI = 0x86 ,
MSG_CHAR_KATAKANA_ZU = 0x87 ,
MSG_CHAR_KATAKANA_ZE = 0x88 ,
MSG_CHAR_KATAKANA_ZO = 0x89 ,
MSG_CHAR_KATAKANA_DA = 0x8A ,
MSG_CHAR_KATAKANA_DI = 0x8B ,
MSG_CHAR_KATAKANA_DU = 0x8C ,
MSG_CHAR_KATAKANA_DE = 0x8D ,
MSG_CHAR_KATAKANA_DO = 0x8E ,
MSG_CHAR_KATAKANA_BA = 0x8F ,
MSG_CHAR_KATAKANA_BI = 0x90 ,
MSG_CHAR_KATAKANA_BU = 0x91 ,
MSG_CHAR_KATAKANA_BE = 0x92 ,
MSG_CHAR_KATAKANA_BO = 0x93 ,
MSG_CHAR_KATAKANA_PA = 0x94 ,
MSG_CHAR_KATAKANA_PI = 0x95 ,
MSG_CHAR_KATAKANA_PU = 0x96 ,
MSG_CHAR_KATAKANA_PE = 0x97 ,
MSG_CHAR_KATAKANA_PO = 0x98 ,
MSG_CHAR_KATAKANA_SMALL_A = 0x99 ,
MSG_CHAR_KATAKANA_SMALL_I = 0x9A ,
MSG_CHAR_KATAKANA_SMALL_U = 0x9B ,
MSG_CHAR_KATAKANA_SMALL_E = 0x9C ,
MSG_CHAR_KATAKANA_SMALL_O = 0x9D ,
MSG_CHAR_KATAKANA_SMALL_TU = 0x9E ,
MSG_CHAR_KATAKANA_SMALL_YA = 0x9F ,
MSG_CHAR_KATAKANA_SMALL_YU = 0xA0 ,
MSG_CHAR_KATAKANA_SMALL_YO = 0xA1 ,
MSG_CHAR_PROLONGED_SOUND = 0xA2 ,
MSG_CHAR_TILDE = 0xA3 ,
MSG_CHAR_LONGDASH_0 = 0xA4 ,
MSG_CHAR_LONGDASH_1 = 0xA5 ,
MSG_CHAR_LONGDASH_2 = 0xA6 ,
MSG_CHAR_DIGIT_0 = 0xA7 ,
MSG_CHAR_DIGIT_1 = 0xA8 ,
MSG_CHAR_DIGIT_2 = 0xA9 ,
MSG_CHAR_DIGIT_3 = 0xAA ,
MSG_CHAR_DIGIT_4 = 0xAB ,
MSG_CHAR_DIGIT_5 = 0xAC ,
MSG_CHAR_DIGIT_6 = 0xAD ,
MSG_CHAR_DIGIT_7 = 0xAE ,
MSG_CHAR_DIGIT_8 = 0xAF ,
MSG_CHAR_DIGIT_9 = 0xB0 ,
MSG_CHAR_UP = 0xB1 ,
MSG_CHAR_DOWN = 0xB2 ,
MSG_CHAR_LEFT = 0xB3 ,
MSG_CHAR_RIGHT = 0xB4 ,
MSG_CHAR_EXCLAMATION = 0xB5 ,
MSG_CHAR_QUESTION = 0xB6 ,
MSG_CHAR_PLUS = 0xB7 ,
MSG_CHAR_MINUS = 0xB8 ,
MSG_CHAR_FORWARDSLASH = 0xB9 ,
MSG_CHAR_PERIOD = 0xBA ,
MSG_CHAR_AND = 0xBB ,
MSG_CHAR_HASH = 0xBC ,
MSG_CHAR_HEART = 0xBD ,
MSG_CHAR_STAR = 0xBE ,
MSG_CHAR_LPAREN = 0xBF ,
MSG_CHAR_RPAREN = 0xC0 ,
MSG_CHAR_TLBRACKET = 0xC1 ,
MSG_CHAR_BRBRACKET = 0xC2 ,
MSG_CHAR_MIDDLE_DOT = 0xC3 ,
MSG_CHAR_HIRAGANA_SMALL_N = 0xC4 ,
MSG_CHAR_KATAKANA_SMALL_N = 0xC5 ,
MSG_CHAR_KANJI_C6 = 0xC6 ,
MSG_CHAR_KANJI_C7 = 0xC7 ,
// Variant 1 - Latin Alphabet
MSG_CHAR_UPPER_A = 0x00 ,
MSG_CHAR_UPPER_B = 0x01 ,
MSG_CHAR_UPPER_C = 0x02 ,
MSG_CHAR_UPPER_D = 0x03 ,
MSG_CHAR_UPPER_E = 0x04 ,
MSG_CHAR_UPPER_F = 0x05 ,
MSG_CHAR_UPPER_G = 0x06 ,
MSG_CHAR_UPPER_H = 0x07 ,
MSG_CHAR_UPPER_I = 0x08 ,
MSG_CHAR_UPPER_J = 0x09 ,
MSG_CHAR_UPPER_K = 0x0A ,
MSG_CHAR_UPPER_L = 0x0B ,
MSG_CHAR_UPPER_M = 0x0C ,
MSG_CHAR_UPPER_N = 0x0D ,
MSG_CHAR_UPPER_O = 0x0E ,
MSG_CHAR_UPPER_P = 0x0F ,
MSG_CHAR_UPPER_Q = 0x10 ,
MSG_CHAR_UPPER_R = 0x11 ,
MSG_CHAR_UPPER_S = 0x12 ,
MSG_CHAR_UPPER_T = 0x13 ,
MSG_CHAR_UPPER_U = 0x14 ,
MSG_CHAR_UPPER_V = 0x15 ,
MSG_CHAR_UPPER_W = 0x16 ,
MSG_CHAR_UPPER_X = 0x17 ,
MSG_CHAR_UPPER_Y = 0x18 ,
MSG_CHAR_UPPER_Z = 0x19 ,
MSG_CHAR_LOWER_Z = 0x1A ,
// Variant 2 - Kanji (Chinese) characters
MSG_CHAR_KANJI_00 = 0x00 ,
MSG_CHAR_KANJI_01 = 0x01 ,
MSG_CHAR_KANJI_02 = 0x02 ,
MSG_CHAR_KANJI_03 = 0x03 ,
MSG_CHAR_KANJI_04 = 0x04 ,
MSG_CHAR_KANJI_05 = 0x05 ,
MSG_CHAR_KANJI_06 = 0x06 ,
MSG_CHAR_KANJI_07 = 0x07 ,
MSG_CHAR_KANJI_08 = 0x08 ,
MSG_CHAR_KANJI_09 = 0x09 ,
MSG_CHAR_KANJI_0A = 0x0A ,
MSG_CHAR_KANJI_0B = 0x0B ,
MSG_CHAR_KANJI_0C = 0x0C ,
MSG_CHAR_KANJI_0D = 0x0D ,
MSG_CHAR_KANJI_0E = 0x0E ,
MSG_CHAR_KANJI_0F = 0x0F ,
MSG_CHAR_KANJI_10 = 0x10 ,
MSG_CHAR_KANJI_11 = 0x11 ,
MSG_CHAR_KANJI_12 = 0x12 ,
MSG_CHAR_KANJI_13 = 0x13 ,
MSG_CHAR_KANJI_14 = 0x14 ,
MSG_CHAR_KANJI_15 = 0x15 ,
MSG_CHAR_KANJI_16 = 0x16 ,
MSG_CHAR_KANJI_17 = 0x17 ,
MSG_CHAR_KANJI_18 = 0x18 ,
MSG_CHAR_KANJI_19 = 0x19 ,
MSG_CHAR_KANJI_1A = 0x1A ,
MSG_CHAR_KANJI_1B = 0x1B ,
MSG_CHAR_KANJI_1C = 0x1C ,
MSG_CHAR_KANJI_1D = 0x1D ,
MSG_CHAR_KANJI_1E = 0x1E ,
MSG_CHAR_KANJI_1F = 0x1F ,
MSG_CHAR_KANJI_20 = 0x20 ,
MSG_CHAR_KANJI_21 = 0x21 ,
MSG_CHAR_KANJI_22 = 0x22 ,
MSG_CHAR_KANJI_23 = 0x23 ,
MSG_CHAR_KANJI_24 = 0x24 ,
MSG_CHAR_KANJI_25 = 0x25 ,
MSG_CHAR_KANJI_26 = 0x26 ,
MSG_CHAR_KANJI_27 = 0x27 ,
MSG_CHAR_KANJI_28 = 0x28 ,
MSG_CHAR_KANJI_29 = 0x29 ,
MSG_CHAR_KANJI_2A = 0x2A ,
MSG_CHAR_KANJI_2B = 0x2B ,
MSG_CHAR_KANJI_2C = 0x2C ,
MSG_CHAR_KANJI_2D = 0x2D ,
MSG_CHAR_KANJI_2E = 0x2E ,
MSG_CHAR_KANJI_2F = 0x2F ,
MSG_CHAR_KANJI_30 = 0x30 ,
MSG_CHAR_KANJI_31 = 0x31 ,
MSG_CHAR_KANJI_32 = 0x32 ,
MSG_CHAR_KANJI_33 = 0x33 ,
MSG_CHAR_KANJI_34 = 0x34 ,
MSG_CHAR_KANJI_35 = 0x35 ,
MSG_CHAR_KANJI_36 = 0x36 ,
MSG_CHAR_KANJI_37 = 0x37 ,
MSG_CHAR_KANJI_38 = 0x38 ,
MSG_CHAR_KANJI_39 = 0x39 ,
MSG_CHAR_KANJI_3A = 0x3A ,
MSG_CHAR_KANJI_3B = 0x3B ,
MSG_CHAR_KANJI_3C = 0x3C ,
MSG_CHAR_KANJI_3D = 0x3D ,
MSG_CHAR_KANJI_3E = 0x3E ,
MSG_CHAR_KANJI_3F = 0x3F ,
MSG_CHAR_KANJI_40 = 0x40 ,
MSG_CHAR_KANJI_41 = 0x41 ,
MSG_CHAR_KANJI_42 = 0x42 ,
MSG_CHAR_KANJI_43 = 0x43 ,
MSG_CHAR_KANJI_44 = 0x44 ,
MSG_CHAR_KANJI_45 = 0x45 ,
MSG_CHAR_KANJI_46 = 0x46 ,
MSG_CHAR_KANJI_47 = 0x47 ,
MSG_CHAR_KANJI_48 = 0x48 ,
MSG_CHAR_KANJI_49 = 0x49 ,
MSG_CHAR_KANJI_4A = 0x4A ,
MSG_CHAR_KANJI_4B = 0x4B ,
MSG_CHAR_KANJI_4C = 0x4C ,
MSG_CHAR_KANJI_4D = 0x4D ,
MSG_CHAR_KANJI_4E = 0x4E ,
MSG_CHAR_KANJI_4F = 0x4F ,
MSG_CHAR_KANJI_50 = 0x50 ,
MSG_CHAR_KANJI_51 = 0x51 ,
MSG_CHAR_KANJI_52 = 0x52 ,
MSG_CHAR_KANJI_53 = 0x53 ,
MSG_CHAR_KANJI_54 = 0x54 ,
MSG_CHAR_KANJI_55 = 0x55 ,
MSG_CHAR_KANJI_56 = 0x56 ,
MSG_CHAR_KANJI_57 = 0x57 ,
MSG_CHAR_KANJI_58 = 0x58 ,
MSG_CHAR_KANJI_59 = 0x59 ,
MSG_CHAR_KANJI_5A = 0x5A ,
MSG_CHAR_KANJI_5B = 0x5B ,
MSG_CHAR_KANJI_5C = 0x5C ,
MSG_CHAR_KANJI_5D = 0x5D ,
MSG_CHAR_KANJI_5E = 0x5E ,
MSG_CHAR_KANJI_5F = 0x5F ,
MSG_CHAR_KANJI_60 = 0x60 ,
MSG_CHAR_CIRCLE = 0x61 ,
MSG_CHAR_CROSS = 0x62 ,
MSG_CHAR_KANJI_63 = 0x63 ,
MSG_CHAR_KANJI_64 = 0x64 ,
MSG_CHAR_KANJI_65 = 0x65 ,
MSG_CHAR_KANJI_66 = 0x66 ,
MSG_CHAR_KANJI_67 = 0x67 ,
MSG_CHAR_KANJI_68 = 0x68 ,
MSG_CHAR_KANJI_69 = 0x69 ,
MSG_CHAR_NOTE = 0x6A ,
MSG_CHAR_KANJI_6B = 0x6B ,
MSG_CHAR_KANJI_6C = 0x6C ,
MSG_CHAR_KANJI_6D = 0x6D ,
MSG_CHAR_KANJI_6E = 0x6E ,
MSG_CHAR_KANJI_6F = 0x6F ,
MSG_CHAR_KANJI_70 = 0x70 ,
MSG_CHAR_KANJI_71 = 0x71 ,
MSG_CHAR_KANJI_72 = 0x72 ,
MSG_CHAR_KANJI_73 = 0x73 ,
MSG_CHAR_KANJI_74 = 0x74 ,
MSG_CHAR_KANJI_75 = 0x75 ,
MSG_CHAR_KANJI_76 = 0x76 ,
MSG_CHAR_KANJI_77 = 0x77 ,
MSG_CHAR_LOWER_X = 0x78 ,
// Variant 3 - N64 Button Icons
MSG_CHAR_BUTTON_A = 0x00 ,
MSG_CHAR_BUTTON_B = 0x01 ,
MSG_CHAR_BUTTON_START = 0x02 ,
MSG_CHAR_BUTTON_C_UP = 0x03 ,
MSG_CHAR_BUTTON_C_DOWN = 0x04 ,
MSG_CHAR_BUTTON_C_LEFT = 0x05 ,
MSG_CHAR_BUTTON_C_RIGHT = 0x06 ,
MSG_CHAR_BUTTON_Z = 0x07 ,
MSG_CHAR_BUTTON_L = 0x08 ,
MSG_CHAR_BUTTON_R = 0x09 ,
# else
2022-04-05 11:52:06 +02:00
MSG_CHAR_NOTE = 0x00 ,
MSG_CHAR_EXCLAMTION = 0x01 ,
MSG_CHAR_BACKSLASH = 0x02 ,
MSG_CHAR_HASH = 0x03 ,
MSG_CHAR_DOLLAR = 0x04 ,
MSG_CHAR_PERCENT = 0x05 ,
MSG_CHAR_AND = 0x06 ,
MSG_CHAR_APOSTROPHE = 0x07 ,
MSG_CHAR_LPAREN = 0x08 ,
MSG_CHAR_RPAREN = 0x09 ,
MSG_CHAR_TIMES = 0x0A ,
MSG_CHAR_PLUS = 0x0B ,
MSG_CHAR_COMMA = 0x0C ,
MSG_CHAR_MINUS = 0x0D ,
MSG_CHAR_PERIOD = 0x0E ,
MSG_CHAR_FORWARDSLASH = 0x0F ,
MSG_CHAR_DIGIT_0 = 0x10 ,
MSG_CHAR_DIGIT_1 = 0x11 ,
MSG_CHAR_DIGIT_2 = 0x12 ,
MSG_CHAR_DIGIT_3 = 0x13 ,
MSG_CHAR_DIGIT_4 = 0x14 ,
MSG_CHAR_DIGIT_5 = 0x15 ,
MSG_CHAR_DIGIT_6 = 0x16 ,
MSG_CHAR_DIGIT_7 = 0x17 ,
MSG_CHAR_DIGIT_8 = 0x18 ,
MSG_CHAR_DIGIT_9 = 0x19 ,
MSG_CHAR_COLON = 0x1A ,
MSG_CHAR_SEMICOLON = 0x1B ,
MSG_CHAR_LESS_THAN = 0x1C ,
MSG_CHAR_EQUAL = 0x1D ,
MSG_CHAR_GREATER_THAN = 0x1E ,
MSG_CHAR_QUESTION = 0x1F ,
MSG_CHAR_AT = 0x20 ,
MSG_CHAR_UPPER_A = 0x21 ,
MSG_CHAR_UPPER_B = 0x22 ,
MSG_CHAR_UPPER_C = 0x23 ,
MSG_CHAR_UPPER_D = 0x24 ,
MSG_CHAR_UPPER_E = 0x25 ,
MSG_CHAR_UPPER_F = 0x26 ,
MSG_CHAR_UPPER_G = 0x27 ,
MSG_CHAR_UPPER_H = 0x28 ,
MSG_CHAR_UPPER_I = 0x29 ,
MSG_CHAR_UPPER_J = 0x2A ,
MSG_CHAR_UPPER_K = 0x2B ,
MSG_CHAR_UPPER_L = 0x2C ,
MSG_CHAR_UPPER_M = 0x2D ,
MSG_CHAR_UPPER_N = 0x2E ,
MSG_CHAR_UPPER_O = 0x2F ,
MSG_CHAR_UPPER_P = 0x30 ,
MSG_CHAR_UPPER_Q = 0x31 ,
MSG_CHAR_UPPER_R = 0x32 ,
MSG_CHAR_UPPER_S = 0x33 ,
MSG_CHAR_UPPER_T = 0x34 ,
MSG_CHAR_UPPER_U = 0x35 ,
MSG_CHAR_UPPER_V = 0x36 ,
MSG_CHAR_UPPER_W = 0x37 ,
MSG_CHAR_UPPER_X = 0x38 ,
MSG_CHAR_UPPER_Y = 0x39 ,
MSG_CHAR_UPPER_Z = 0x3A ,
MSG_CHAR_LBRACKET = 0x3B ,
MSG_CHAR_YEN = 0x3C ,
MSG_CHAR_RBRACKET = 0x3D ,
MSG_CHAR_CARET = 0x3E ,
MSG_CHAR_UNDERSCORE = 0x3F ,
MSG_CHAR_BACKTICK = 0x40 ,
MSG_CHAR_LOWER_A = 0x41 ,
MSG_CHAR_LOWER_B = 0x42 ,
MSG_CHAR_LOWER_C = 0x43 ,
MSG_CHAR_LOWER_D = 0x44 ,
MSG_CHAR_LOWER_E = 0x45 ,
MSG_CHAR_LOWER_F = 0x46 ,
MSG_CHAR_LOWER_G = 0x47 ,
MSG_CHAR_LOWER_H = 0x48 ,
MSG_CHAR_LOWER_I = 0x49 ,
MSG_CHAR_LOWER_J = 0x4A ,
MSG_CHAR_LOWER_K = 0x4B ,
MSG_CHAR_LOWER_L = 0x4C ,
MSG_CHAR_LOWER_M = 0x4D ,
MSG_CHAR_LOWER_N = 0x4E ,
MSG_CHAR_LOWER_O = 0x4F ,
MSG_CHAR_LOWER_P = 0x50 ,
MSG_CHAR_LOWER_Q = 0x51 ,
MSG_CHAR_LOWER_R = 0x52 ,
MSG_CHAR_LOWER_S = 0x53 ,
MSG_CHAR_LOWER_T = 0x54 ,
MSG_CHAR_LOWER_U = 0x55 ,
MSG_CHAR_LOWER_V = 0x56 ,
MSG_CHAR_LOWER_W = 0x57 ,
MSG_CHAR_LOWER_X = 0x58 ,
MSG_CHAR_LOWER_Y = 0x59 ,
MSG_CHAR_LOWER_Z = 0x5A ,
MSG_CHAR_LCURLY = 0x5B ,
MSG_CHAR_PIPE = 0x5C ,
MSG_CHAR_RCURLY = 0x5D ,
MSG_CHAR_TILDA = 0x5E ,
MSG_CHAR_DEGREE = 0x5F ,
MSG_CHAR_UPPER_A_GRAVE = 0x60 ,
MSG_CHAR_UPPER_A_ACUTE = 0x61 ,
MSG_CHAR_UPPER_A_CIRCUMFLEX = 0x62 ,
MSG_CHAR_UPPER_A_UMLAUT = 0x63 ,
MSG_CHAR_UPPER_C_CEDILLA = 0x64 ,
MSG_CHAR_UPPER_E_GRAVE = 0x65 ,
MSG_CHAR_UPPER_E_ACUTE = 0x66 ,
MSG_CHAR_UPPER_E_CIRCUMFLEX = 0x67 ,
MSG_CHAR_UPPER_E_UMLAUT = 0x68 ,
MSG_CHAR_UPPER_I_GRAVE = 0x69 ,
MSG_CHAR_UPPER_I_ACUTE = 0x6A ,
MSG_CHAR_UPPER_I_CIRCUMFLEX = 0x6B ,
MSG_CHAR_UPPER_I_UMLAUT = 0x6C ,
MSG_CHAR_UPPER_N_TILDE = 0x6D ,
MSG_CHAR_UPPER_O_GRAVE = 0x6E ,
MSG_CHAR_UPPER_O_ACUTE = 0x6F ,
MSG_CHAR_UPPER_O_CIRCUMFLEX = 0x70 ,
MSG_CHAR_UPPER_O_UMLAUT = 0x71 ,
MSG_CHAR_UPPER_U_GRAVE = 0x72 ,
MSG_CHAR_UPPER_U_ACUTE = 0x73 ,
MSG_CHAR_UPPER_U_CIRCUMFLEX = 0x74 ,
MSG_CHAR_UPPER_U_UMLAUT = 0x75 ,
MSG_CHAR_SHARP_S = 0x76 ,
MSG_CHAR_LOWER_A_GRAVE = 0x77 ,
MSG_CHAR_LOWER_A_ACUTE = 0x78 ,
MSG_CHAR_LOWER_A_CIRCUMFLEX = 0x79 ,
MSG_CHAR_LOWER_A_UMLAUT = 0x7A ,
MSG_CHAR_LOWER_C_CEDILLA = 0x7B ,
MSG_CHAR_LOWER_E_GRAVE = 0x7C ,
MSG_CHAR_LOWER_E_ACUTE = 0x7D ,
MSG_CHAR_LOWER_E_CIRCUMFLEX = 0x7E ,
MSG_CHAR_LOWER_E_UMLAUT = 0x7F ,
MSG_CHAR_LOWER_I_GRAVE = 0x80 ,
MSG_CHAR_LOWER_I_ACUTE = 0x81 ,
MSG_CHAR_LOWER_I_CIRCUMFLEX = 0x82 ,
MSG_CHAR_LOWER_I_UMLAUT = 0x83 ,
MSG_CHAR_LOWER_N_TILDE = 0x84 ,
MSG_CHAR_LOWER_O_GRAVE = 0x85 ,
MSG_CHAR_LOWER_O_ACUTE = 0x86 ,
MSG_CHAR_LOWER_O_CIRCUMFLEX = 0x87 ,
MSG_CHAR_LOWER_O_UMLAUT = 0x88 ,
MSG_CHAR_LOWER_U_GRAVE = 0x89 ,
MSG_CHAR_LOWER_U_ACUTE = 0x8A ,
MSG_CHAR_LOWER_U_CIRCUMFLEX = 0x8B ,
MSG_CHAR_LOWER_U_UMLAUT = 0x8C ,
MSG_CHAR_INVERTED_EXCLAMTION = 0x8D ,
MSG_CHAR_INVERTED_QUESTION = 0x8E ,
MSG_CHAR_FEM_ORDINAL = 0x8F ,
MSG_CHAR_HEART = 0x90 ,
MSG_CHAR_STAR = 0x91 ,
MSG_CHAR_UP = 0x92 ,
MSG_CHAR_DOWN = 0x93 ,
MSG_CHAR_LEFT = 0x94 ,
MSG_CHAR_RIGHT = 0x95 ,
MSG_CHAR_CIRCLE = 0x96 ,
MSG_CHAR_CROSS = 0x97 ,
MSG_CHAR_BUTTON_A = 0x98 ,
MSG_CHAR_BUTTON_B = 0x99 ,
MSG_CHAR_BUTTON_L = 0x9A ,
MSG_CHAR_BUTTON_R = 0x9B ,
MSG_CHAR_BUTTON_Z = 0x9C ,
MSG_CHAR_BUTTON_C_UP = 0x9D ,
MSG_CHAR_BUTTON_C_DOWN = 0x9E ,
MSG_CHAR_BUTTON_C_LEFT = 0x9F ,
MSG_CHAR_BUTTON_C_RIGHT = 0xA0 ,
MSG_CHAR_BUTTON_START = 0xA1 ,
MSG_CHAR_DOUBLE_QUOTE_OPEN = 0xA2 ,
MSG_CHAR_DOUBLE_QUOTE_CLOSE = 0xA3 ,
MSG_CHAR_SINGLE_QUOTE_OPEN = 0xA4 ,
MSG_CHAR_SINGLE_QUOTE_CLOSE = 0xA5 ,
// 0xA6 to 0xEF are unused
2024-01-16 06:13:54 +01:00
# endif
2022-04-05 11:52:06 +02:00
2023-03-08 16:40:22 +01:00
# if VERSION_IQUE
2023-02-21 15:37:27 +01:00
// All US characters are in the rom, but their range is used for multibyte characters
MSG_CHAR_MULTIBYTE_FIRST = 0x5F ,
MSG_CHAR_MULTIBYTE_LAST = 0x8F ,
2023-11-20 16:22:26 +01:00
MSG_CHAR_ZH_START = 0xA6 ,
MSG_CHAR_ZH_RANK = 0x33F , // 勋
MSG_CHAR_ZH_CHAPTER = 0x340 , // 章
2023-02-21 15:37:27 +01:00
# endif
2023-02-15 09:18:27 +01:00
MSG_CHAR_UNK_C3 = 0xC3 ,
2024-10-31 01:21:15 +01:00
MSG_CHAR_MENU_SPACE = 0xC6 ,
MSG_CHAR_MENU_USE_CHARSET_B = 0xC7 ,
MSG_CHAR_MENU_USE_CHARSET_A = 0xC8 ,
MSG_CHAR_MENU_BACK = 0xC9 ,
MSG_CHAR_MENU_END = 0xCA ,
2022-04-05 11:52:06 +02:00
// special character codes used when reading from the source buffer
MSG_CHAR_READ_ENDL = 0xF0 ,
MSG_CHAR_READ_WAIT = 0xF1 ,
MSG_CHAR_READ_PAUSE = 0xF2 ,
MSG_CHAR_READ_VARIANT0 = 0xF3 ,
MSG_CHAR_READ_VARIANT1 = 0xF4 ,
MSG_CHAR_READ_VARIANT2 = 0xF5 ,
MSG_CHAR_READ_VARIANT3 = 0xF6 ,
MSG_CHAR_READ_SPACE = 0xF7 ,
MSG_CHAR_READ_FULL_SPACE = 0xF8 ,
MSG_CHAR_READ_HALF_SPACE = 0xF9 ,
MSG_CHAR_READ_UNK_CHAR_FA = 0xFA ,
MSG_CHAR_READ_NEXT = 0xFB ,
MSG_CHAR_READ_STYLE = 0xFC ,
MSG_CHAR_READ_END = 0xFD ,
// 0xFE unused
MSG_CHAR_READ_FUNCTION = 0xFF ,
// special character codes used when writing to the print buffer
MSG_CONTROL_CHAR = 0xF0 ,
MSG_CHAR_PRINT_ENDL = 0xF0 ,
MSG_CHAR_PRINT_VARIANT0 = 0xF1 ,
MSG_CHAR_PRINT_VARIANT1 = 0xF2 ,
MSG_CHAR_PRINT_VARIANT2 = 0xF3 ,
MSG_CHAR_PRINT_VARIANT3 = 0xF4 ,
MSG_CHAR_PRINT_SPACE = 0xF5 ,
MSG_CHAR_PRINT_FULL_SPACE = 0xF6 ,
MSG_CHAR_PRINT_HALF_SPACE = 0xF7 ,
MSG_CHAR_PRINT_STYLE = 0xF8 ,
MSG_CHAR_PRINT_UNK_CHAR_FA = 0xF9 ,
MSG_CHAR_PRINT_NEXT = 0xFA ,
MSG_CHAR_PRINT_END = 0xFB ,
// FC unused
// FD unused
// FE unused
MSG_CHAR_PRINT_FUNCTION = 0xFF
} ;
enum MsgFunctionCodes {
// function codes used when reading from the source buffer
MSG_READ_FUNC_FONT = 0x00 ,
MSG_READ_FUNC_VARIANT = 0x01 ,
MSG_READ_FUNC_SET_FRAME_PALETTE = 0x02 ,
MSG_READ_FUNC_RESET_GFX = 0x03 ,
MSG_READ_FUNC_YIELD = 0x04 ,
MSG_READ_FUNC_COLOR = 0x05 ,
MSG_READ_FUNC_NO_SKIP = 0x06 ,
MSG_READ_FUNC_INPUT_OFF = 0x07 ,
MSG_READ_FUNC_INPUT_ON = 0x08 ,
MSG_READ_FUNC_DELAY_OFF = 0x09 ,
MSG_READ_FUNC_DELAY_ON = 0x0A ,
MSG_READ_FUNC_SPACING = 0x0B ,
MSG_READ_FUNC_SCROLL = 0x0C ,
MSG_READ_FUNC_SIZE = 0x0D ,
MSG_READ_FUNC_SIZE_RESET = 0x0E ,
MSG_READ_FUNC_SPEED = 0x0F ,
MSG_READ_FUNC_SET_X = 0x10 ,
MSG_READ_FUNC_SET_Y = 0x11 ,
MSG_READ_FUNC_RIGHT = 0x12 ,
MSG_READ_FUNC_DOWN = 0x13 ,
MSG_READ_FUNC_UP = 0x14 ,
MSG_READ_FUNC_INLINE_IMAGE = 0x15 ,
MSG_READ_FUNC_ANIM_SPRITE = 0x16 ,
MSG_READ_FUNC_ITEM_ICON = 0x17 ,
MSG_READ_FUNC_IMAGE = 0x18 ,
MSG_READ_FUNC_HIDE_IMAGE = 0x19 ,
MSG_READ_FUNC_ANIM_DELAY = 0x1A ,
MSG_READ_FUNC_ANIM_LOOP = 0x1B ,
MSG_READ_FUNC_ANIM_DONE = 0x1C ,
MSG_READ_FUNC_SET_CURSOR = 0x1D ,
MSG_READ_FUNC_CURSOR = 0x1E ,
MSG_READ_FUNC_END_CHOICE = 0x1F ,
MSG_READ_FUNC_SET_CANCEL = 0x20 ,
MSG_READ_FUNC_OPTION = 0x21 ,
MSG_READ_FUNC_SAVE_POS = 0x22 ,
MSG_READ_FUNC_RESTORE_POS = 0x23 ,
MSG_READ_FUNC_SAVE_COLOR = 0x24 ,
MSG_READ_FUNC_RESTORE_COLOR = 0x25 ,
MSG_READ_FUNC_START_FX = 0x26 ,
MSG_READ_FUNC_END_FX = 0x27 ,
MSG_READ_FUNC_VAR = 0x28 ,
MSG_READ_FUNC_CENTER_X = 0x29 ,
MSG_READ_FUNC_SET_REWIND = 0x2A ,
MSG_READ_FUNC_ENABLE_CDOWN_NEXT = 0x2B ,
MSG_READ_FUNC_CUSTOM_VOICE = 0x2C ,
MSG_READ_FUNC_VOLUME = 0x2E ,
MSG_READ_FUNC_VOICE = 0x2F ,
// function codes used when writing to the print buffer
MSG_PRINT_FUNC_FONT = 0x00 ,
MSG_PRINT_FUNC_VARIANT = 0x01 ,
MSG_PRINT_FUNC_SET_FRAME_PALETTE = 0x16 ,
MSG_PRINT_RESET_GFX = 0x17 ,
MSG_PRINT_FUNC_COLOR = 0x04 ,
MSG_PRINT_FUNC_SPACING = 0x05 ,
MSG_PRINT_FUNC_SCROLL = 0xFA ,
MSG_PRINT_FUNC_SIZE = 0x06 ,
MSG_PRINT_FUNC_SIZE_RESET = 0x07 ,
MSG_PRINT_FUNC_SET_X = 0x08 ,
MSG_PRINT_FUNC_SET_Y = 0x09 ,
MSG_PRINT_FUNC_RIGHT = 0x0A ,
MSG_PRINT_FUNC_DOWN = 0x0B ,
MSG_PRINT_FUNC_UP = 0x0C ,
MSG_PRINT_FUNC_INLINE_IMAGE = 0x0E ,
MSG_PRINT_FUNC_ANIM_SPRITE = 0x0F ,
MSG_PRINT_FUNC_ITEM_ICON = 0x10 ,
MSG_PRINT_FUNC_ANIM_DELAY = 0x11 ,
MSG_PRINT_FUNC_ANIM_LOOP = 0x12 ,
MSG_PRINT_FUNC_ANIM_DONE = 0x13 ,
MSG_PRINT_FUNC_CURSOR = 0x14 ,
MSG_PRINT_FUNC_OPTION = 0x15 ,
MSG_PRINT_FUNC_SAVE_POS = 0x18 ,
MSG_PRINT_FUNC_RESTORE_POS = 0x19 ,
MSG_PRINT_FUNC_SAVE_COLOR = 0x1A ,
MSG_PRINT_FUNC_RESTORE_COLOR = 0x1B ,
MSG_PRINT_FUNC_START_FX = 0x1C ,
MSG_PRINT_FUNC_END_FX = 0x1D ,
MSG_PRINT_FUNC_CENTER_X = 0x1E
} ;
enum MsgEffectCodes {
MSG_FX_SHAKE = 0x00 ,
MSG_FX_WAVE = 0x01 ,
MSG_FX_NOISE_OUTLINE = 0x02 ,
MSG_FX_STATIC = 0x03 ,
MSG_FX_BLUR = 0x05 ,
MSG_FX_RAINBOW = 0x06 ,
MSG_FX_DITHER_FADE = 0x07 ,
MSG_FX_GLOBAL_WAVE = 0x08 ,
MSG_FX_GLOBAL_RAINBOW = 0x09 ,
MSG_FX_RISE_PRINT = 0x0A ,
MSG_FX_GROW_PRINT = 0x0B ,
MSG_FX_SIZE_JITTER = 0x0C ,
MSG_FX_SIZE_WAVE = 0x0D ,
MSG_FX_DROP_SHADOW = 0x0E
} ;
enum MsgEffectFlags {
MSG_FX_FLAG_SHAKE = 0x00001 ,
MSG_FX_FLAG_WAVE = 0x00002 ,
MSG_FX_FLAG_NOISE_OUTLINE = 0x00004 ,
MSG_FX_FLAG_BLUR = 0x00020 ,
MSG_FX_FLAG_RAINBOW = 0x00040 ,
MSG_FX_FLAG_DITHER_FADE = 0x00080 ,
MSG_FX_FLAG_GLOBAL_WAVE = 0x00200 ,
MSG_FX_FLAG_GLOBAL_RAINBOW = 0x00400 ,
MSG_FX_FLAG_RISE_PRINT = 0x00800 ,
MSG_FX_FLAG_GROW_PRINT = 0x01000 ,
MSG_FX_FLAG_SIZE_JITTER = 0x02000 ,
MSG_FX_FLAG_SIZE_WAVE = 0x04000 ,
MSG_FX_FLAG_DROP_SHADOW = 0x08000 ,
MSG_FX_FLAG_STATIC = 0x10000
} ;
enum MsgStyles {
2023-08-03 09:38:11 +02:00
MSG_STYLE_NONE = 0x0 ,
MSG_STYLE_RIGHT = 0x1 ,
MSG_STYLE_LEFT = 0x2 ,
MSG_STYLE_CENTER = 0x3 ,
MSG_STYLE_TATTLE = 0x4 ,
MSG_STYLE_CHOICE = 0x5 ,
MSG_STYLE_INSPECT = 0x6 ,
MSG_STYLE_SIGN = 0x7 ,
MSG_STYLE_LAMPPOST = 0x8 ,
MSG_STYLE_POSTCARD = 0x9 ,
MSG_STYLE_POPUP = 0xA ,
MSG_STYLE_B = 0xB ,
MSG_STYLE_UPGRADE = 0xC ,
MSG_STYLE_NARRATE = 0xD ,
MSG_STYLE_EPILOGUE = 0xE ,
MSG_STYLE_F = 0xF
2022-04-05 11:52:06 +02:00
} ;
enum MsgFonts {
MSG_FONT_NORMAL = 0 ,
MSG_FONT_MENU = 1 ,
2023-08-03 09:38:11 +02:00
MSG_FONT_2 = 2 ,
2022-04-05 11:52:06 +02:00
MSG_FONT_TITLE = 3 ,
2023-08-03 09:38:11 +02:00
MSG_FONT_SUBTITLE = 4 ,
2022-04-05 11:52:06 +02:00
} ;
enum MsgVoices {
MSG_VOICE_NORMAL = 0 ,
MSG_VOICE_BOWSER = 1 ,
MSG_VOICE_STAR = 2
} ;
enum MsgPrintModeFlags {
MSG_PRINT_FLAG_1 = 0x001 ,
MSG_PRINT_FLAG_2 = 0x002 ,
MSG_PRINT_FLAG_10 = 0x010 ,
MSG_PRINT_FLAG_20 = 0x020 ,
MSG_PRINT_FLAG_40 = 0x040 ,
MSG_PRINT_FLAG_80 = 0x080 ,
MSG_PRINT_FLAG_100 = 0x100 ,
} ;
enum MsgStateFlags {
MSG_STATE_FLAG_1 = 0x000001 ,
MSG_STATE_FLAG_2 = 0x000002 ,
2022-04-07 09:51:21 +02:00
MSG_STATE_FLAG_4 = 0x000004 ,
MSG_STATE_FLAG_10 = 0x000010 ,
MSG_STATE_FLAG_20 = 0x000020 ,
2022-04-05 11:52:06 +02:00
MSG_STATE_FLAG_40 = 0x000040 ,
2023-10-14 21:43:12 +02:00
MSG_STATE_FLAG_SPEAKING = 0x000080 , // determines animation of speaker (talk vs idle)
2023-01-10 07:33:09 +01:00
MSG_STATE_FLAG_PRINT_QUICKLY = 0x000100 ,
2022-11-02 13:30:07 +01:00
MSG_STATE_FLAG_400 = 0x000400 ,
2023-03-03 02:42:48 +01:00
MSG_STATE_FLAG_800 = 0x000800 ,
MSG_STATE_FLAG_1000 = 0x001000 ,
2022-04-05 11:52:06 +02:00
MSG_STATE_FLAG_4000 = 0x004000 ,
MSG_STATE_FLAG_8000 = 0x008000 ,
MSG_STATE_FLAG_10000 = 0x010000 ,
MSG_STATE_FLAG_20000 = 0x020000 ,
2022-04-07 09:51:21 +02:00
MSG_STATE_FLAG_40000 = 0x040000 ,
MSG_STATE_FLAG_80000 = 0x080000 ,
2023-03-03 02:42:48 +01:00
MSG_STATE_FLAG_100000 = 0x100000 ,
2022-04-07 09:51:21 +02:00
MSG_STATE_FLAG_800000 = 0x800000 ,
2022-04-05 11:52:06 +02:00
} ;
enum MsgDelayFlags {
MSG_DELAY_FLAG_1 = 0x000001 ,
MSG_DELAY_FLAG_2 = 0x000002 ,
MSG_DELAY_FLAG_4 = 0x000004 ,
} ;
enum MsgWindowStates {
MSG_WINDOW_STATE_DONE = 0x0 ,
MSG_WINDOW_STATE_INIT = 0x1 ,
MSG_WINDOW_STATE_OPENING = 0x2 ,
MSG_WINDOW_STATE_CLOSING = 0x3 ,
MSG_WINDOW_STATE_PRINTING = 0x4 ,
MSG_WINDOW_STATE_WAITING = 0x5 ,
MSG_WINDOW_STATE_SCROLLING = 0x6 ,
MSG_WINDOW_STATE_WAITING_FOR_CHOICE = 0x7 ,
MSG_WINDOW_STATE_SCROLLING_BACK = 0x8 ,
MSG_WINDOW_STATE_VIEWING_PREV = 0x9 ,
MSG_WINDOW_STATE_A = 0xA ,
MSG_WINDOW_STATE_B = 0xB ,
MSG_WINDOW_STATE_C = 0xC ,
MSG_WINDOW_STATE_D = 0xD ,
MSG_WINDOW_STATE_E = 0xE ,
} ;
2022-10-13 03:16:49 +02:00
enum BackgroundFlags {
2023-10-14 21:43:12 +02:00
BACKGROUND_FLAG_TEXTURE = 0x01 ,
BACKGROUND_FLAG_FOG = 0x02 ,
BACKGROUND_RENDER_STATE_BEGIN_PAUSED = 0x10 ,
BACKGROUND_RENDER_STATE_FILTER_PAUSED = 0x20 ,
BACKGROUND_RENDER_STATE_SHOW_PAUSED = 0x30 ,
BACKGROUND_RENDER_STATE_MASK = 0xF0 ,
2022-10-13 03:16:49 +02:00
} ;
2022-11-01 13:27:10 +01:00
enum EncounterStates {
ENCOUNTER_STATE_NONE = 0 ,
ENCOUNTER_STATE_CREATE = 1 ,
ENCOUNTER_STATE_NEUTRAL = 2 ,
ENCOUNTER_STATE_PRE_BATTLE = 3 ,
ENCOUNTER_STATE_CONVERSATION = 4 ,
ENCOUNTER_STATE_POST_BATTLE = 5 ,
} ;
enum EncounterCreateSubStates {
2024-10-08 05:15:38 +02:00
ENCOUNTER_SUBSTATE_CREATE_INIT = 0 ,
ENCOUNTER_SUBSTATE_CREATE_RUN_INIT_SCRIPT = 1 ,
ENCOUNTER_SUBSTATE_CREATE_RUN_AI = 2 ,
2022-11-01 13:27:10 +01:00
} ;
enum EncounterNeutralSubStates {
2024-10-08 05:15:38 +02:00
ENCOUNTER_SUBSTATE_NEUTRAL = 0 ,
2022-11-01 13:27:10 +01:00
} ;
enum EncounterPreBattleSubStates {
2024-10-08 05:15:38 +02:00
ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT = 0 ,
ENCOUNTER_SUBSTATE_PRE_BATTLE_LOAD = 1 ,
ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN = 2 ,
ENCOUNTER_SUBSTATE_PRE_BATTLE_SKIP = 3 ,
2022-11-01 13:27:10 +01:00
} ;
enum EncounterConversationSubStates {
2024-10-08 05:15:38 +02:00
ENCOUNTER_SUBSTATE_CONVERSATION_INIT = 0 ,
ENCOUNTER_SUBSTATE_CONVERSATION_END = 1 ,
2022-11-01 13:27:10 +01:00
} ;
enum EncounterPostBattleSubStates {
2024-10-08 05:15:38 +02:00
ENCOUNTER_SUBSTATE_POST_BATTLE_INIT = 0 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_FADE_IN = 2 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_KILL = 3 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_RESUME = 4 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_CHECK_MERLEE = 10 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_PLAY_NPC_DEFEAT = 11 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_INIT = 100 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_FADE_IN = 101 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_RESUME = 102 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_DELAY = 103 , // delay before battle can be retriggered
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_INIT = 200 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_FADE_IN = 201 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_RESUME = 202 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_DELAY = 203 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_SKIP = 300 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_INIT = 400 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_FADE_IN = 401 ,
ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_RESUME = 402 ,
2022-11-01 13:27:10 +01:00
} ;
2022-11-22 05:12:28 +01:00
enum PlayerSpriteSets {
PLAYER_SPRITES_MARIO_WORLD = 0 ,
PLAYER_SPRITES_MARIO_REFLECT_FLOOR = 1 ,
PLAYER_SPRITES_COMBINED_EPILOGUE = 2 ,
PLAYER_SPRITES_MARIO_PARADE = 3 ,
PLAYER_SPRITES_PEACH_WORLD = 4 ,
PLAYER_SPRITES_MARIO_BATTLE = 5 ,
PLAYER_SPRITES_PEACH_BATTLE = 6 ,
} ;
enum BattleDarknessMode {
BTL_DARKNESS_MODE_0 = 0 ,
BTL_DARKNESS_MODE_1 = 1 ,
BTL_DARKNESS_MODE_2 = 2 ,
BTL_DARKNESS_MODE_3 = 3 ,
} ;
enum BattleDarknessState {
BTL_DARKNESS_STATE_LOCKED = - 2 ,
BTL_DARKNESS_STATE_DARK = - 1 ,
BTL_DARKNESS_STATE_NONE = 0 ,
BTL_DARKNESS_STATE_WATT_BASED = 1 ,
} ;
2022-12-29 06:08:13 +01:00
enum WindowStyles {
WINDOW_STYLE_0 = 0 ,
WINDOW_STYLE_1 = 1 ,
WINDOW_STYLE_2 = 2 ,
WINDOW_STYLE_3 = 3 ,
WINDOW_STYLE_4 = 4 ,
WINDOW_STYLE_5 = 5 ,
WINDOW_STYLE_6 = 6 ,
WINDOW_STYLE_7 = 7 ,
WINDOW_STYLE_8 = 8 ,
WINDOW_STYLE_9 = 9 ,
WINDOW_STYLE_10 = 10 ,
WINDOW_STYLE_11 = 11 ,
WINDOW_STYLE_12 = 12 ,
WINDOW_STYLE_13 = 13 ,
WINDOW_STYLE_14 = 14 ,
WINDOW_STYLE_15 = 15 ,
WINDOW_STYLE_16 = 16 ,
WINDOW_STYLE_17 = 17 ,
WINDOW_STYLE_18 = 18 ,
WINDOW_STYLE_19 = 19 ,
WINDOW_STYLE_20 = 20 ,
WINDOW_STYLE_21 = 21 ,
WINDOW_STYLE_22 = 22 ,
WINDOW_STYLE_MAX = 22 ,
} ;
2023-07-03 11:35:05 +02:00
// LANGUAGE_DEFAULT as 0 will be the first index into several arrays containing data based on the current language.
// For non-PAL versions, this will be the first and only index.
# define LANGUAGE_DEFAULT 0
2023-03-26 19:03:19 +02:00
enum Language {
LANGUAGE_EN = 0 ,
LANGUAGE_DE = 1 ,
LANGUAGE_FR = 2 ,
LANGUAGE_ES = 3 ,
} ;
2023-08-03 05:17:33 +02:00
enum IdleScriptState {
2023-08-21 20:07:08 +02:00
IDLE_SCRIPT_DISABLE = 0 ,
IDLE_SCRIPT_ENABLE = 1 ,
2023-08-03 05:17:33 +02:00
IDLE_SCRIPT_RESTART = - 1 ,
} ;
enum BlurState {
2023-08-21 20:07:08 +02:00
ACTOR_BLUR_DISABLE = 0 ,
ACTOR_BLUR_ENABLE = 1 ,
ACTOR_BLUR_RESET = - 1 ,
2023-08-03 05:17:33 +02:00
} ;
2020-08-15 00:47:06 +02:00
# endif