From 4724a110a546042414924d5ec794e34423fda1b4 Mon Sep 17 00:00:00 2001 From: Alex Bates Date: Fri, 14 Aug 2020 23:47:06 +0100 Subject: [PATCH] generate enums.h --- include/common.h | 2 +- include/enums.h | 1431 +++++++++++++++++++++++++++++++++++ include/items.h | 367 --------- src/code_fa4c0_len_3bf0.c | 2 +- tools/starrod_enums_to_h.py | 69 ++ tools/starrod_to_c.py | 60 -- 6 files changed, 1502 insertions(+), 429 deletions(-) create mode 100644 include/enums.h delete mode 100644 include/items.h create mode 100755 tools/starrod_enums_to_h.py delete mode 100644 tools/starrod_to_c.py diff --git a/include/common.h b/include/common.h index 612c44b7f7..014f24c267 100644 --- a/include/common.h +++ b/include/common.h @@ -7,6 +7,6 @@ #include "functions.h" #include "variables.h" #include "macros.h" -#include "items.h" +#include "enums.h" #endif diff --git a/include/enums.h b/include/enums.h new file mode 100644 index 0000000000..1809b1bd01 --- /dev/null +++ b/include/enums.h @@ -0,0 +1,1431 @@ +#ifndef _ENUMS_H_ +#define _ENUMS_H_ + +#include "ultra64.h" +#include "types.h" + +typedef UNK_TYPE ENCOUNTER_TRIGGER; +#define ENCOUNTER_TRIGGER_NONE 0x00000001 +#define ENCOUNTER_TRIGGER_JUMP 0x00000002 +#define ENCOUNTER_TRIGGER_SPIN 0x00000003 +#define ENCOUNTER_TRIGGER_HAMMER 0x00000004 +#define ENCOUNTER_TRIGGER_PARTNER 0x00000006 + +typedef UNK_TYPE PARTNER; +#define PARTNER_NONE 0x00000000 +#define PARTNER_GOOMBARIO 0x00000001 +#define PARTNER_KOOPER 0x00000002 +#define PARTNER_BOMBETTE 0x00000003 +#define PARTNER_PARAKARRY 0x00000004 +#define PARTNER_GOOMPA 0x00000005 +#define PARTNER_WATT 0x00000006 +#define PARTNER_SUSHIE 0x00000007 +#define PARTNER_LAKILESTER 0x00000008 +#define PARTNER_BOW 0x00000009 +#define PARTNER_GOOMBARIA 0x0000000A +#define PARTNER_TWINK 0x0000000B + +typedef UNK_TYPE SPRITE; +#define SPRITE_WORLD_GOOMBARIO 0x00000001 +#define SPRITE_WORLD_KOOPER 0x00000002 +#define SPRITE_WORLD_BOMBETTE 0x00000003 +#define SPRITE_WORLD_PARAKARRY 0x00000004 +#define SPRITE_WORLD_BOW 0x00000005 +#define SPRITE_WORLD_WATT 0x00000006 +#define SPRITE_WORLD_SUSHI 0x00000007 +#define SPRITE_WORLD_LAKILESTER 0x00000008 +#define SPRITE_BATTLE_GOOMBARIO 0x00000009 +#define SPRITE_BATTLE_KOOPER 0x0000000A +#define SPRITE_BATTLE_BOMBETTE 0x0000000B +#define SPRITE_BATTLE_PARAKARRY 0x0000000C +#define SPRITE_BATTLE_BOW 0x0000000D +#define SPRITE_BATTLE_WATT 0x0000000E +#define SPRITE_BATTLE_SUSHI 0x0000000F +#define SPRITE_BATTLE_LAKILESTER 0x00000010 +#define SPRITE_KOOPER_WITHOUT_SHELL 0x00000011 +#define SPRITE_WORLD_ELDSTAR 0x00000012 +#define SPRITE_WORLD_MAMAR 0x00000013 +#define SPRITE_WORLD_SKOLAR 0x00000014 +#define SPRITE_WORLD_MUSKULAR 0x00000015 +#define SPRITE_WORLD_MISSTAR 0x00000016 +#define SPRITE_WORLD_KLEVAR 0x00000017 +#define SPRITE_WORLD_KALMAR 0x00000018 +#define SPRITE_BATTLE_ELDSTAR 0x00000019 +#define SPRITE_BATTLE_MAMAR 0x0000001A +#define SPRITE_BATTLE_SKOLAR 0x0000001B +#define SPRITE_BATTLE_MUSKULAR 0x0000001C +#define SPRITE_BATTLE_MISSTAR 0x0000001D +#define SPRITE_BATTLE_KLEVAR 0x0000001E +#define SPRITE_BATTLE_KALMAR 0x0000001F +#define SPRITE_TWINK 0x00000020 +#define SPRITE_JR_TROOPA 0x00000021 +#define SPRITE_SPIKED_JR_TROOPA 0x00000022 +#define SPRITE_SPIKED_PARA_JR_TROOPA 0x00000023 +#define SPRITE_MAGE_JR_TROOPA 0x00000024 +#define SPRITE_PARA_JR_TROOPA 0x00000025 +#define SPRITE_GOOMBA 0x00000026 +#define SPRITE_SPIKED_GOOMBA 0x00000027 +#define SPRITE_PARAGOOMBA 0x00000028 +#define SPRITE_KOOPA_TROOPA 0x00000029 +#define SPRITE_PARA_TROOPA 0x0000002A +#define SPRITE_FUZZY 0x0000002B +#define SPRITE_BOMBOMB 0x0000002C +#define SPRITE_BULLET_BILL 0x0000002D +#define SPRITE_BILL_BLASTER 0x0000002E +#define SPRITE_MONTY_MOLE 0x0000002F +#define SPRITE_CLEFT 0x00000030 +#define SPRITE_POKEY 0x00000031 +#define SPRITE_BANDIT 0x00000032 +#define SPRITE_BUZZY_BEETLE 0x00000033 +#define SPRITE_SWOOPER 0x00000034 +#define SPRITE_STONE_CHOMP 0x00000035 +#define SPRITE_PUTRID_PIRANHA 0x00000036 +#define SPRITE_PIRANHA_PLANT 0x00000037 +#define SPRITE_SENTINEL 0x00000038 +#define SPRITE_WORLD_CLUBBA 0x00000039 +#define SPRITE_BATTLE_CLUBBA 0x0000003A +#define SPRITE_SHY_GUY 0x0000003B +#define SPRITE_GROOVE_GUY 0x0000003C +#define SPRITE_SKY_GUY 0x0000003D +#define SPRITE_PYRO_GUY 0x0000003E +#define SPRITE_SPY_GUY 0x0000003F +#define SPRITE_MEDI_GUY 0x00000040 +#define SPRITE_FUZZIPEDE 0x00000041 +#define SPRITE_JUNGLE_GUY 0x00000042 +#define SPRITE_HEART_PLANT 0x00000043 +#define SPRITE_HURT_PLANT 0x00000044 +#define SPRITE_M_BUSH 0x00000045 +#define SPRITE_BUBBLE 0x00000046 +#define SPRITE_KENT_C_KOOPA 0x00000047 +#define SPRITE_DAYZEE 0x00000048 +#define SPRITE_LAKITU 0x00000049 +#define SPRITE_SPINY 0x0000004A +#define SPRITE_BZZAP 0x0000004B +#define SPRITE_RUFF_PUFF 0x0000004C +#define SPRITE_SPIKE_TOP 0x0000004D +#define SPRITE_DUPLIGHOST 0x0000004E +#define SPRITE_ALBINO_DINO 0x0000004F +#define SPRITE_BLOOPER 0x00000050 +#define SPRITE_BABY_BLOOPER 0x00000051 +#define SPRITE_GULPIT 0x00000052 +#define SPRITE_DRY_BONES 0x00000053 +#define SPRITE_THROWN_BONE 0x00000054 +#define SPRITE_BONY_BEETLE 0x00000055 +#define SPRITE_MAGIKOOPA 0x00000056 +#define SPRITE_FLYING_MAGIKOOPA 0x00000057 +#define SPRITE_WORLD_KOOPATROL 0x00000058 +#define SPRITE_KOOPATROL 0x00000059 +#define SPRITE_HAMMER_BROS 0x0000005A +#define SPRITE_BUSH_BASIC 0x0000005B +#define SPRITE_BUSH_BLOCKY 0x0000005C +#define SPRITE_BUSH_DRY 0x0000005D +#define SPRITE_BUSH_LEAFY 0x0000005E +#define SPRITE_BUSH_MATTED 0x0000005F +#define SPRITE_WORLD_KAMMY 0x00000060 +#define SPRITE_BATTLE_KAMMY 0x00000061 +#define SPRITE_GOOMBA_BROS 0x00000062 +#define SPRITE_GOOMBA_KING 0x00000063 +#define SPRITE_SPIKY_GOOMNUT 0x00000064 +#define SPRITE_DARK_TOAD 0x00000065 +#define SPRITE_KOOPA_BROS 0x00000066 +#define SPRITE_BUZZAR 0x00000067 +#define SPRITE_TUTANKOOPA 0x00000068 +#define SPRITE_CHAIN_CHOMP 0x00000069 +#define SPRITE_WORLD_TUBBA 0x0000006A +#define SPRITE_BATTLE_TUBBA 0x0000006B +#define SPRITE_TUBBAS_HEART 0x0000006C +#define SPRITE_BIG_LANTERN_GHOST 0x0000006D +#define SPRITE_SHY_SQUAD_GUY 0x0000006E +#define SPRITE_MARSHAL_GUY 0x0000006F +#define SPRITE_STILT_GUY 0x00000070 +#define SPRITE_STILT_GUY_UNFOLD 0x00000071 +#define SPRITE_SHY_STACK_GUY 0x00000072 +#define SPRITE_SHY_STACK_UNFOLD 0x00000073 +#define SPRITE_SHY_STACK_DAMAGE 0x00000074 +#define SPRITE_SHY_STACK_ROCK 0x00000075 +#define SPRITE_GENERAL_GUY 0x00000076 +#define SPRITE_GENERAL_GUY_BOMB 0x00000077 +#define SPRITE_TANK_GUY 0x00000078 +#define SPRITE_LAVA_PIRANHA_HEAD 0x00000079 +#define SPRITE_PETIT_PIRANHA 0x0000007A +#define SPRITE_LAVA_BUD 0x0000007B +#define SPRITE_HUFF_N_PUFF 0x0000007C +#define SPRITE_TUFF_PUFF 0x0000007D +#define SPRITE_MONSTAR 0x0000007E +#define SPRITE_CRYSTAL_KING 0x0000007F +#define SPRITE_WORLD_BOWSER 0x00000080 +#define SPRITE_BATTLE_BOWSER 0x00000081 +#define SPRITE_LUIGI 0x00000082 +#define SPRITE_TOAD 0x00000083 +#define SPRITE_THREE_SISTERS 0x00000084 +#define SPRITE_VANNA_T 0x00000085 +#define SPRITE_TOAD_KID 0x00000086 +#define SPRITE_TOAD_GUARD 0x00000087 +#define SPRITE_HARRY_T 0x00000088 +#define SPRITE_TOAD_MINISTER 0x00000089 +#define SPRITE_POSTMASTER 0x0000008A +#define SPRITE_CONDUCTOR_TOAD 0x0000008B +#define SPRITE_TRAIN_STATION_TOAD 0x0000008C +#define SPRITE_FISHMAEL 0x0000008D +#define SPRITE_ARTIST_TOAD 0x0000008E +#define SPRITE_KOOPA 0x0000008F +#define SPRITE_KOOPA_WITHOUT_SHELL 0x00000090 +#define SPRITE_WORLD_BOMBOMB 0x00000091 +#define SPRITE_WHACKA 0x00000092 +#define SPRITE_DRYITE 0x00000093 +#define SPRITE_MOUSER 0x00000094 +#define SPRITE_BOO 0x00000095 +#define SPRITE_YOSHI 0x00000096 +#define SPRITE_YOSHI_KID 0x00000097 +#define SPRITE_RAVEN 0x00000098 +#define SPRITE_BUBULB 0x00000099 +#define SPRITE_PENGUIN 0x0000009A +#define SPRITE_SHIVER_TOAD 0x0000009B +#define SPRITE_ALT_BANDIT 0x0000009C +#define SPRITE_GOOMPAPA 0x0000009D +#define SPRITE_GOOMBARIA 0x0000009E +#define SPRITE_GOOMAMA 0x0000009F +#define SPRITE_GOOMPA 0x000000A0 +#define SPRITE_GOOMMA 0x000000A1 +#define SPRITE_THE_MASTER 0x000000A2 +#define SPRITE_CHAN 0x000000A3 +#define SPRITE_LEE 0x000000A4 +#define SPRITE_MERLON 0x000000A5 +#define SPRITE_CHET_RIPPO 0x000000A6 +#define SPRITE_ROWF 0x000000A7 +#define SPRITE_MINH_T 0x000000A8 +#define SPRITE_RUSS_T 0x000000A9 +#define SPRITE_TAYCE_T 0x000000AA +#define SPRITE_FICE_T 0x000000AB +#define SPRITE_BARTENDER 0x000000AC +#define SPRITE_CHANTERELLE 0x000000AD +#define SPRITE_RIP_CHEATO 0x000000AE +#define SPRITE_CHUCK_QUIZMO 0x000000AF +#define SPRITE_MERLUVLEE 0x000000B0 +#define SPRITE_MERLAR 0x000000B1 +#define SPRITE_MERLOW 0x000000B2 +#define SPRITE_STAR_KID 0x000000B3 +#define SPRITE_KOLORADO_WIFE 0x000000B4 +#define SPRITE_KOOPA_KOOT 0x000000B5 +#define SPRITE_KOLORADO 0x000000B6 +#define SPRITE_BATTLE_KOLORADO 0x000000B7 +#define SPRITE_ARCHEOLOGIST 0x000000B8 +#define SPRITE_NOMADIMOUSE 0x000000B9 +#define SPRITE_WORLD_MERLEE 0x000000BA +#define SPRITE_BATTLE_MERLEE 0x000000BB +#define SPRITE_DISGUISED_MOUSTAFA 0x000000BC +#define SPRITE_MOUSTAFA 0x000000BD +#define SPRITE_OAKLIE 0x000000BE +#define SPRITE_BOOTLER 0x000000BF +#define SPRITE_YAKKEY 0x000000C0 +#define SPRITE_GOURMET_GUY 0x000000C1 +#define SPRITE_VILLAGE_LEADER 0x000000C2 +#define SPRITE_LEADERS_FRIEND 0x000000C3 +#define SPRITE_RAFAEL_RAVEN 0x000000C4 +#define SPRITE_TOLIELUP 0x000000C5 +#define SPRITE_GATE_FLOWER 0x000000C6 +#define SPRITE_PETUNIA 0x000000C7 +#define SPRITE_POSIE 0x000000C8 +#define SPRITE_LILY 0x000000C9 +#define SPRITE_ROSIE 0x000000CA +#define SPRITE_SUN 0x000000CB +#define SPRITE_LAKILULU 0x000000CC +#define SPRITE_NINJI 0x000000CD +#define SPRITE_MAYOR_PENGUIN 0x000000CE +#define SPRITE_MAYOR_PENGUIN_WIFE 0x000000CF +#define SPRITE_PENGUIN_PATROL 0x000000D0 +#define SPRITE_HERRINGWAY 0x000000D1 +#define SPRITE_MERLE 0x000000D2 +#define SPRITE_STAR_ROD 0x000000D3 +#define SPRITE_FIRE 0x000000D4 +#define SPRITE_COIN 0x000000D5 +#define SPRITE_PARADE_PEACH 0x000000D6 +#define SPRITE_PARADE_KOOPAS 0x000000D7 +#define SPRITE_PARADE_BURNT_BOWSER 0x000000D8 +#define SPRITE_PARADE_LUIGI 0x000000D9 +#define SPRITE_PARADE_PARTNERS 0x000000DA +#define SPRITE_PARADE_YOSHIS 0x000000DB +#define SPRITE_PARADA_KOLORADOS 0x000000DC +#define SPRITE_PARADE_CHICKS 0x000000DD +#define SPRITE_PARADE_ICE_SHOW 0x000000DE +#define SPRITE_PARADE_TOADS 0x000000DF +#define SPRITE_PARADE_BATONS 0x000000E0 +#define SPRITE_PARADE_DRUMS 0x000000E1 +#define SPRITE_PARADE_FLAGS 0x000000E2 +#define SPRITE_PARADE_HORNS 0x000000E3 +#define SPRITE_PARADE_TUBBA_BALLOON 0x000000E4 +#define SPRITE_PARADE_WIZARDS 0x000000E5 +#define SPRITE_PARADE_MARIO 0x000000E6 +#define SPRITE_PARADE_SHY_GUYS 0x000000E7 +#define SPRITE_PARADE_TWINK 0x000000E8 +#define SPRITE_LEAF 0x000000E9 + +typedef UNK_TYPE SONG; +#define SONG_TOAD_TOWN 0x00000000 +#define SONG_NORMAL_BATTLE 0x00000002 +#define SONG_SPECIAL_BATTLE 0x00000003 +#define SONG_JR_TROOPA_BATTLE 0x00000004 +#define SONG_FINAL_BOWSER_BATTLE 0x00000005 +#define SONG_GOOMBA_KING_BATTLE 0x00000007 +#define SONG_KOOPA_BROS_BATTLE 0x00000008 +#define SONG_FAKE_BOWSER_BATTLE 0x00000009 +#define SONG_TUTANKOOPA_BATTLE 0x0000000A +#define SONG_TUBBA_BLUBBA_BATTLE 0x0000000B +#define SONG_GENERAL_GUY_BATTLE 0x0000000C +#define SONG_LAVA_PIRANHA_BATTLE 0x0000000D +#define SONG_HUFF_N_PUFF_BATTLE 0x0000000E +#define SONG_CRYSTAL_KING_BATTLE 0x0000000F +#define SONG_GOOMBA_VILLAGE 0x00000010 +#define SONG_PLEASANT_PATH 0x00000011 +#define SONG_FUZZY_ATTACK 0x00000012 +#define SONG_KOOPA_VILLAGE 0x00000013 +#define SONG_KOOPA_FORTRESS 0x00000014 +#define SONG_DRY_DRY_OUTPOST 0x00000015 +#define SONG_MT_RUGGED 0x00000016 +#define SONG_DRY_DRY_DESERT 0x00000017 +#define SONG_DRY_DRY_RUINS 0x00000018 +#define SONG_RUINS_BASEMENT 0x00000019 +#define SONG_FOREVER_FOREST 0x0000001A +#define SONG_BOOS_MANSION 0x0000001B +#define SONG_CHEERFUL_BOOS_MANSION 0x0000001C +#define SONG_GUSTY_GULCH 0x0000001D +#define SONG_TUBBAS_MANOR 0x0000001E +#define SONG_TUBBA_ESCAPE 0x0000001F +#define SONG_SHY_GUY_TOYBOX 0x00000020 +#define SONG_TOYBOX_TRAIN 0x00000021 +#define SONG_CREEPY_TOYBOX 0x00000022 +#define SONG_JADE_JUNGLE 0x00000024 +#define SONG_DEEP_JUNGLE 0x00000025 +#define SONG_YOSHIS_VILLAGE 0x00000026 +#define SONG_YOSHIS_PANIC 0x00000027 +#define SONG_RAPHAEL_RAVEN 0x00000028 +#define SONG_MT_LAVALAVA 0x00000029 +#define SONG_VOLCANO_ESCAPE 0x0000002A +#define SONG_STAR_WAY_OPENS 0x0000002B +#define SONG_MASTER_BATTLE 0x0000002C +#define SONG_RADIO_ISLAND_SOUNDS 0x0000002D +#define SONG_RADIO_HOT_HITS 0x0000002E +#define SONG_RADIO_GOLDEN_OLDIES 0x0000002F +#define SONG_FLOWER_FIELDS_CLOUDY 0x00000030 +#define SONG_FLOWER_FIELDS_SUNNY 0x00000031 +#define SONG_CLOUDY_CLIMB 0x00000032 +#define SONG_PUFF_PUFF_MACHINE 0x00000033 +#define SONG_SUN_TOWER_CLOUDY 0x00000034 +#define SONG_SUN_TOWER_SUNNY 0x00000035 +#define SONG_CRYSTAL_PALACE 0x00000037 +#define SONG_SHIVER_CITY 0x00000038 +#define SONG_PENGUIN_MYSTERY 0x00000039 +#define SONG_SHIVER_SNOWFIELD 0x0000003A +#define SONG_SHIVER_MOUNTAIN 0x0000003B +#define SONG_STARBORN_VALLEY 0x0000003C +#define SONG_MERLAR_THEME 0x0000003D +#define SONG_MAIL_CALL 0x0000003E +#define SONG_PEACHS_CASTLE_PARTY 0x0000003F +#define SONG_CHAPTER_END 0x00000040 +#define SONG_CHAPTER_START 0x00000041 +#define SONG_ITEM_UPGRADE 0x00000042 +#define SONG_PHONOGRAPH_MUSIC 0x00000044 +#define SONG_TUTANKOOPA_THEME 0x00000045 +#define SONG_KAMMY_KOOPA_THEME 0x00000046 +#define SONG_JR_TROOPA_THEME 0x00000047 +#define SONG_BULLET_BILL_ASSAULT 0x00000048 +#define SONG_MONTY_MOLE_ASSAULT 0x00000049 +#define SONG_SHY_GUY_INVASION 0x0000004A +#define SONG_TOAD_TOWN_TUNNELS 0x0000004B +#define SONG_WHALE_THEME 0x0000004C +#define SONG_FOREVER_FOREST_WARNING 0x0000004D +#define SONG_YOSHI_KIDS_FOUND 0x0000004E +#define SONG_UNUSED_FANFARE 0x0000004F +#define SONG_GOOMBA_KING_THEME 0x00000050 +#define SONG_KOOPA_BROS_INTERLUDE 0x00000051 +#define SONG_KOOPA_BROS_THEME 0x00000052 +#define SONG_TUTANKOOPA_WARNING 0x00000053 +#define SONG_TUTANKOOPA_REVEALED 0x00000054 +#define SONG_TUBBA_BLUBBA_THEME 0x00000055 +#define SONG_GENERAL_GUY_THEME 0x00000056 +#define SONG_LAVA_PIRANHA_THEME 0x00000057 +#define SONG_HUFF_N_PUFF_THEME 0x00000058 +#define SONG_CRYSTAL_KING_THEME 0x00000059 +#define SONG_BLOOPER_THEME 0x0000005A +#define SONG_MINIBOSS_BATTLE 0x0000005B +#define SONG_MONSTAR_THEME 0x0000005C +#define SONG_CLUB64 0x0000005D +#define SONG_UNUSED_OPENING 0x0000005E +#define SONG_BOWSERS_CASTLE_FALLS 0x0000005F +#define SONG_STAR_HAVEN 0x00000060 +#define SONG_SHOOTING_STAR_SUMMIT 0x00000061 +#define SONG_STARSHIP_THEME 0x00000062 +#define SONG_STAR_SANCTUARY 0x00000063 +#define SONG_BOWSERS_CASTLE 0x00000064 +#define SONG_BOWSERS_CASTLE_CAVES 0x00000065 +#define SONG_BOWSER_THEME 0x00000066 +#define SONG_BOWSER_BATTLE 0x00000067 +#define SONG_PEACH_WISHES 0x00000068 +#define SONG_FILE_SELECT 0x00000069 +#define SONG_MAIN_THEME 0x0000006A +#define SONG_BOWSER_ATTACKS 0x0000006B +#define SONG_MARIO_FALLS 0x0000006C +#define SONG_PEACH_APPEARS 0x0000006D +#define SONG_THE_END 0x0000006E +#define SONG_RECOVERED_STAR_ROD 0x0000006F +#define SONG_TWINK_THEME 0x00000070 +#define SONG_STIRRING_CAKE 0x00000071 +#define SONG_GOURMET_GUY_FREAKOUT 0x00000072 +#define SONG_PRISONER_PEACH_THEME 0x00000073 +#define SONG_PEACH_MISSION 0x00000074 +#define SONG_PEACH_SNEAKING 0x00000075 +#define SONG_PEACH_CAUGHT 0x00000076 +#define SONG_PEACH_QUIZ_INTRO 0x00000077 +#define SONG_STAR_SPIRIT_THEME 0x00000078 +#define SONG_PENGUIN_WHODUNIT 0x00000079 +#define SONG_PENGUIN_WAKES_UP 0x0000007A +#define SONG_MAGIC_BEANSTALK 0x0000007B +#define SONG_MERLEE_SPELL 0x0000007C +#define SONG_LAKILESTER_THEME 0x0000007D +#define SONG_GOOMBA_BROS_RETREAT 0x0000007E +#define SONG_SUNSHINE_RETURNS 0x0000007F +#define SONG_RIDING_THE_RAILS 0x00000080 +#define SONG_RIDING_THE_WHALE 0x00000081 +#define SONG_NEW_PARTNER 0x00000082 +#define SONG_DRY_DRY_RUINS_APPEAR 0x00000083 +#define SONG_CANDY_CANES 0x00000084 +#define SONG_PLAYROOM 0x00000085 +#define SONG_MOUSTAFA_THEME 0x00000086 +#define SONG_GAME_OVER 0x00000087 +#define SONG_TAKING_REST 0x00000088 +#define SONG_FLOWER_N_P_C_THEME 0x00000089 +#define SONG_FLOWER_GATE_APPEARS 0x0000008A +#define SONG_BATTLE_END 0x0000008B +#define SONG_POP_DIVA_SONG 0x0000008C +#define SONG_BOO_MINIGAME 0x0000008D +#define SONG_LEVEL_UP 0x0000008E +#define SONG_PARADE_DAY 0x00000090 +#define SONG_PARADE_NIGHT 0x00000091 +#define SONG_MARIO_BROS_HOUSE 0x00000094 +#define SONG_INTRO_STORY 0x00000095 +#define SONG_NEW_PARTNER_J_P 0x00000096 + +typedef UNK_TYPE ABILITY; +#define ABILITY_DODGE_MASTER 0x00000000 +#define ABILITY_UNUSED 0x00000001 +#define ABILITY_SPIKE_SHIELD 0x00000002 +#define ABILITY_FIRST_ATTACK 0x00000003 +#define ABILITY_H_P_PLUS 0x00000004 +#define ABILITY_DOUBLE_DIP 0x00000005 +#define ABILITY_MYSTERY_SCROLL 0x00000006 +#define ABILITY_FIRE_SHIELD 0x00000007 +#define ABILITY_PRETTY_LUCKY 0x00000008 +#define ABILITY_H_P_DRAIN 0x00000009 +#define ABILITY_ALL_OR_NOTHING 0x0000000A +#define ABILITY_SLOW_GO 0x0000000B +#define ABILITY_F_P_PLUS 0x0000000C +#define ABILITY_ICE_POWER 0x0000000D +#define ABILITY_FEELING_FINE 0x0000000E +#define ABILITY_ATTACK_F_X 0x0000000F +#define ABILITY_MONEY_MONEY 0x00000010 +#define ABILITY_CHILL_OUT 0x00000011 +#define ABILITY_HAPPY_HEART 0x00000012 +#define ABILITY_ZAP_TAP 0x00000013 +#define ABILITY_MEGA_RUSH 0x00000014 +#define ABILITY_BERSERKER 0x00000015 +#define ABILITY_RIGHT_ON 0x00000016 +#define ABILITY_RUNAWAY_PAY 0x00000017 +#define ABILITY_FLOWER_SAVER 0x00000018 +#define ABILITY_PAY_OFF 0x00000019 +#define ABILITY_QUICK_CHANGE 0x0000001A +#define ABILITY_DEFEND_PLUS 0x0000001B +#define ABILITY_POWER_PLUS 0x0000001C +#define ABILITY_REFUND 0x0000001D +#define ABILITY_POWER_RUSH 0x0000001E +#define ABILITY_CRAZY_HEART 0x0000001F +#define ABILITY_LAST_STAND 0x00000020 +#define ABILITY_CLOSE_CALL 0x00000021 +#define ABILITY_P_UP_D_DOWN 0x00000022 +#define ABILITY_LUCKY_DAY 0x00000023 +#define ABILITY_MEGA_H_P_DRAIN 0x00000024 +#define ABILITY_P_DOWN_D_UP 0x00000025 +#define ABILITY_FLOWER_FANATIC 0x00000026 +#define ABILITY_SPEEDY_SPIN 0x00000027 +#define ABILITY_SPIN_ATTACK 0x00000028 +#define ABILITY_I_SPY 0x00000029 +#define ABILITY_BUMP_ATTACK 0x0000002A +#define ABILITY_HEART_FINDER 0x0000002B +#define ABILITY_FLOWER_FINDER 0x0000002C +#define ABILITY_DIZZY_ATTACK 0x0000002D +#define ABILITY_FINAL_GOOMPA 0x0000002E +#define ABILITY_FINAL_BOMBOMB 0x0000002F +#define ABILITY_DEEP_FOCUS 0x00000030 +#define ABILITY_SUPER_FOCUS 0x00000031 +#define ABILITY_KAIDEN 0x00000032 +#define ABILITY_DAMAGE_DODGE 0x00000033 +#define ABILITY_HAPPY_FLOWER 0x00000034 +#define ABILITY_GROUP_FOCUS 0x00000035 +#define ABILITY_PEEKABOO 0x00000036 +#define ABILITY_HEALTHY_HEALTHY 0x00000037 + +typedef UNK_TYPE EMOTE; +#define EMOTE_EXCLAMATION 0x00000000 +#define EMOTE_SHOCK 0x00000001 +#define EMOTE_QUESTION 0x00000002 +#define EMOTE_FRUSTRATION 0x00000003 +#define EMOTE_ELLIPSIS 0x00000004 +#define EMOTE_INVALID 0x00000005 + +typedef UNK_TYPE ANIM; +#define ANIM_WHITE_BOO__STOP 0x00950000 +#define ANIM_WHITE_BOO__IDLE 0x00950001 +#define ANIM_WHITE_BOO__WALK 0x00950002 +#define ANIM_WHITE_BOO__RUN 0x00950003 +#define ANIM_WHITE_BOO__TALK 0x00950004 +#define ANIM_WHITE_BOO__WAVE 0x00950005 +#define ANIM_WHITE_BOO__PAIN 0x00950006 +#define ANIM_WHITE_BOO__HIDE 0x00950007 +#define ANIM_WHITE_BOO__SPOOK 0x00950008 +#define ANIM_WHITE_BOO__DENYING 0x00950009 +#define ANIM_WHITE_BOO__SKEPTICAL 0x0095000A +#define ANIM_WHITE_BOO__THROW 0x0095000B +#define ANIM_WHITE_BOO__CARRYING_STOP 0x0095000C +#define ANIM_WHITE_BOO__CARRYING_IDLE 0x0095000D +#define ANIM_WHITE_BOO__CARRYING_WALK 0x0095000E +#define ANIM_WHITE_BOO__CARRYING_RUN 0x0095000F +#define ANIM_WHITE_BOO__CARRYING_SHAKE 0x00950010 +#define ANIM_DUSTY_BOO__STOP 0x00950100 +#define ANIM_DUSTY_BOO__IDLE 0x00950101 +#define ANIM_DUSTY_BOO__WALK 0x00950102 +#define ANIM_DUSTY_BOO__RUN 0x00950103 +#define ANIM_DUSTY_BOO__TALK 0x00950104 +#define ANIM_DUSTY_BOO__WAVE 0x00950105 +#define ANIM_DUSTY_BOO__PAIN 0x00950106 +#define ANIM_DUSTY_BOO__HIDE 0x00950107 +#define ANIM_DUSTY_BOO__SPOOK 0x00950108 +#define ANIM_DUSTY_BOO__DENYING 0x00950109 +#define ANIM_DUSTY_BOO__SKEPTICAL 0x0095010A +#define ANIM_DUSTY_BOO__THROW 0x0095010B +#define ANIM_DUSTY_BOO__CARRYING_STOP 0x0095010C +#define ANIM_DUSTY_BOO__CARRYING_IDLE 0x0095010D +#define ANIM_DUSTY_BOO__CARRYING_WALK 0x0095010E +#define ANIM_DUSTY_BOO__CARRYING_RUN 0x0095010F +#define ANIM_DUSTY_BOO__CARRYING_SHAKE 0x00950110 + +typedef UNK_TYPE EASING; +#define EASING_LINEAR 0x00000000 +#define EASING_QUADRATIC_IN 0x00000001 +#define EASING_CUBIC_IN 0x00000002 +#define EASING_QUARTIC_IN 0x00000003 +#define EASING_QUADRATIC_OUT 0x00000004 +#define EASING_CUBIC_OUT 0x00000005 +#define EASING_QUARTIC_OUT 0x00000006 +#define EASING_COS_SLOW_OVERSHOOT 0x00000007 +#define EASING_COS_FAST_OVERSHOOT 0x00000008 +#define EASING_COS_BOUNCE 0x00000009 +#define EASING_COS_IN_OUT 0x0000000A +#define EASING_SIN_OUT 0x0000000B +#define EASING_COS_IN 0x0000000C + +typedef UNK_TYPE SOUND; +#define SOUND_JR_TROOPA_SPLASH 0x00000045 +#define SOUND_JR_TROOPA_SWIM 0x00000046 +#define SOUND_BOO_SPOOK 0x00000047 +#define SOUND_BOO_VANISH 0x000000C1 +#define SOUND_BOO_APPEAR 0x000000C3 +#define SOUND_MENU_OPEN 0x000000C5 +#define SOUND_MENU_CLOSE 0x000000C6 +#define SOUND_MENU_CHANGE_SELECTION 0x000000C7 +#define SOUND_MENU_CHANGE_TAB 0x000000C8 +#define SOUND_MENU_NEXT 0x000000C9 +#define SOUND_MENU_BACK 0x000000CA +#define SOUND_STEP1 0x00000141 +#define SOUND_STEP2 0x00000142 +#define SOUND_TORNADO_JUMP 0x00000147 +#define SOUND_SOFT_LAND 0x00000148 +#define SOUND_LAND 0x0000014B +#define SOUND_HIT_BLOCK 0x0000014E +#define SOUND_SEARCH_BUSH 0x00000153 +#define SOUND_BASIC_DOOR_OPEN 0x000001C1 +#define SOUND_BASIC_DOOR_CLOSE 0x000001C2 +#define SOUND_METAL_DOOR_OPEN 0x000001C3 +#define SOUND_METAL_DOOR_CLOSE 0x000001C4 +#define SOUND_LARGE_DOOR_OPEN 0x000001C5 +#define SOUND_LARGE_DOOR_CLOSE 0x000001C6 +#define SOUND_CREAKY_DOOR_OPEN 0x000001C7 +#define SOUND_CREAKY_DOOR_CLOSE 0x000001C8 +#define SOUND_METAL_GATE_OPEN 0x000001C9 +#define SOUND_METAL_GATE_CLOSE 0x000001CA +#define SOUND_BOW_SPOOK 0x00000291 +#define SOUND_SMOKE_BURST 0x000002CD +#define SOUND_DAYZEE_SONG 0x000002D7 +#define SOUND_POWER_UP 0x000002D8 +#define SOUND_SHY_GUY_SCREAMS1 0x0000030C +#define SOUND_SHY_GUY_SCREAMS2 0x0000030D +#define SOUND_SHY_GUY_SCREAMS3 0x0000030E +#define SOUND_TOY_TANK_MOVE1 0x0000030F +#define SOUND_TOY_TANK_MOVE2 0x00000310 +#define SOUND_GENERAL_WHISTLE 0x00000395 +#define SOUND_MOLE_SURFACE 0x00000321 +#define SOUND_MOLE_DIG 0x00000322 +#define SOUND_MOLE_POP 0x00000323 +#define SOUND_JUMP 0x000003E2 +#define SOUND_MISS_JUMP 0x000003E3 +#define SOUND_DEATH 0x000003E5 +#define SOUND_BIG_POWER_UP 0x000003E6 +#define SOUND_MOLE_THROW 0x000003E8 +#define SOUND_CLOSE_SHELL 0x000002FF +#define SOUND_OPEN_SHELL 0x000003D4 +#define SOUND_BOW_VANISH 0x0000200E +#define SOUND_BOW_APPEAR 0x0000200F +#define SOUND_CANNON1 0x00002016 +#define SOUND_CANNON2 0x00002017 +#define SOUND_CANNON3 0x00002018 +#define SOUND_JUMP_COPY 0x00002081 +#define SOUND_BOMB_BLAST 0x00002076 +#define SOUND_SPELL_CAST1 0x000020D4 +#define SOUND_SPELL_CAST2 0x000020D5 +#define SOUND_SPELL_CAST3 0x000020D6 +#define SOUND_SPELL_CAST4 0x000020D7 +#define SOUND_SPELL_CAST5 0x000020D8 + +typedef UNK_TYPE CAM; +#define CAM_DEFAULT 0x00000000 +#define CAM_BATTLE 0x00000001 +#define CAM_TATTLE 0x00000002 +#define CAM_CAM3 0x00000003 + +typedef UNK_TYPE ITEM; +#define ITEM_JUMP 0x00000001 +#define ITEM_SPIN_JUMP 0x00000002 +#define ITEM_TORNADO_JUMP 0x00000003 +#define ITEM_HAMMER 0x00000004 +#define ITEM_SUPER_HAMMER 0x00000005 +#define ITEM_ULTRA_HAMMER 0x00000006 +#define ITEM_LUCKY_STAR 0x00000007 +#define ITEM_MAP 0x00000008 +#define ITEM_BIG_MAP 0x00000009 +#define ITEM_FIRST_DEGREE_CARD 0x0000000A +#define ITEM_SECOND_DEGREE_CARD 0x0000000B +#define ITEM_THIRD_DEGREE_CARD 0x0000000C +#define ITEM_FOURTH_DEGREE_CARD 0x0000000D +#define ITEM_DIPLOMA 0x0000000E +#define ITEM_ULTRA_STONE 0x0000000F +#define ITEM_FORTRESS_KEY 0x00000010 +#define ITEM_RUINS_KEY 0x00000011 +#define ITEM_PULSE_STONE 0x00000012 +#define ITEM_CASTLE_KEY1 0x00000013 +#define ITEM_PALACE_KEY 0x00000014 +#define ITEM_LUNAR_STONE 0x00000015 +#define ITEM_PYRAMID_STONE 0x00000016 +#define ITEM_DIAMOND_STONE 0x00000017 +#define ITEM_GOLDEN_VASE 0x00000018 +#define ITEM_KOOPERS_SHELL 0x00000019 +#define ITEM_CASTLE_KEY2 0x0000001A +#define ITEM_FOREST_PASS 0x0000001B +#define ITEM_WEIGHT 0x0000001C +#define ITEM_BOOS_PORTRAIT 0x0000001D +#define ITEM_CRYSTAL_BERRY 0x0000001E +#define ITEM_MYSTICAL_KEY 0x0000001F +#define ITEM_STOREROOM_KEY 0x00000020 +#define ITEM_TOY_TRAIN 0x00000021 +#define ITEM_RECORD 0x00000022 +#define ITEM_FRYING_PAN 0x00000023 +#define ITEM_DICTIONARY 0x00000024 +#define ITEM_MYSTERY_NOTE 0x00000025 +#define ITEM_SUSPICIOUS_NOTE 0x00000026 +#define ITEM_CRYSTAL_BALL 0x00000027 +#define ITEM_SCREWDRIVER 0x00000028 +#define ITEM_COOKBOOK 0x00000029 +#define ITEM_JADE_RAVEN 0x0000002A +#define ITEM_MAGICAL_SEED1 0x0000002B +#define ITEM_MAGICAL_SEED2 0x0000002C +#define ITEM_MAGICAL_SEED3 0x0000002D +#define ITEM_MAGICAL_SEED4 0x0000002E +#define ITEM_TOAD_DOLL 0x0000002F +#define ITEM_CALCULATOR 0x00000030 +#define ITEM_BUCKET 0x00000031 +#define ITEM_SCARF 0x00000032 +#define ITEM_RED_KEY 0x00000033 +#define ITEM_BLUE_KEY 0x00000034 +#define ITEM_LETTER01 0x00000036 +#define ITEM_LETTER02 0x00000037 +#define ITEM_LETTER03 0x00000038 +#define ITEM_LETTER04 0x00000039 +#define ITEM_LETTER05 0x0000003A +#define ITEM_LETTER06 0x0000003B +#define ITEM_LETTER07 0x0000003C +#define ITEM_LETTER08 0x0000003D +#define ITEM_LETTER09 0x0000003E +#define ITEM_LETTER10 0x00000040 +#define ITEM_LETTER11 0x00000041 +#define ITEM_LETTER12 0x00000045 +#define ITEM_LETTER13 0x00000046 +#define ITEM_LETTER14 0x00000047 +#define ITEM_LETTER15 0x00000048 +#define ITEM_LETTER16 0x00000049 +#define ITEM_LETTER17 0x0000004A +#define ITEM_LETTER18 0x0000004B +#define ITEM_LETTER19 0x0000004C +#define ITEM_LETTER20 0x0000004E +#define ITEM_LETTER21 0x0000004F +#define ITEM_LETTER22 0x00000050 +#define ITEM_LETTER23 0x00000051 +#define ITEM_LETTER24 0x00000052 +#define ITEM_ARTIFACT 0x00000053 +#define ITEM_LETTER25 0x00000054 +#define ITEM_DOLLY 0x00000056 +#define ITEM_WATER_STONE 0x00000057 +#define ITEM_MAGICAL_BEAN 0x00000058 +#define ITEM_FERTILE_SOIL 0x00000059 +#define ITEM_MIRACLE_WATER 0x0000005A +#define ITEM_VOLCANO_VASE 0x0000005B +#define ITEM_TAPE 0x0000005C +#define ITEM_SUGAR 0x0000005D +#define ITEM_SALT 0x0000005E +#define ITEM_EGG1 0x0000005F +#define ITEM_CREAM 0x00000060 +#define ITEM_STRAWBERRY 0x00000061 +#define ITEM_BUTTER 0x00000062 +#define ITEM_CLEANSER 0x00000063 +#define ITEM_WATER 0x00000064 +#define ITEM_FLOUR 0x00000065 +#define ITEM_MILK 0x00000066 +#define ITEM_LYRICS 0x00000067 +#define ITEM_MELODY 0x00000068 +#define ITEM_MAILBAG 0x00000069 +#define ITEM_CASTLE_KEY3 0x0000006A +#define ITEM_ODD_KEY 0x0000006B +#define ITEM_STAR_STONE 0x0000006C +#define ITEM_SNEAKY_PARASOL 0x0000006D +#define ITEM_KOOPA_LEGENDS 0x0000006E +#define ITEM_AUTOGRAPH1 0x0000006F +#define ITEM_EMPTY_WALLET 0x00000070 +#define ITEM_AUTOGRAPH2 0x00000071 +#define ITEM_KOOPA_SHELL 0x00000072 +#define ITEM_OLD_PHOTO 0x00000073 +#define ITEM_GLASSES 0x00000074 +#define ITEM_PHOTOGRAPH 0x00000075 +#define ITEM_PACKAGE 0x00000076 +#define ITEM_RED_JAR 0x00000077 +#define ITEM_CASTLE_KEY4 0x00000078 +#define ITEM_WAREHOUSE_KEY 0x00000079 +#define ITEM_PRISON_KEY1 0x0000007A +#define ITEM_SILVER_CREDIT 0x0000007B +#define ITEM_GOLD_CREDIT 0x0000007C +#define ITEM_PRISON_KEY2 0x0000007D +#define ITEM_PRISON_KEY3 0x0000007E +#define ITEM_PRISON_KEY4 0x0000007F +#define ITEM_FIRE_FLOWER 0x00000080 +#define ITEM_SNOWMAN_DOLL 0x00000081 +#define ITEM_THUNDER_RAGE 0x00000082 +#define ITEM_SHOOTING_STAR 0x00000083 +#define ITEM_THUNDER_BOLT 0x00000084 +#define ITEM_PEBBLE 0x00000085 +#define ITEM_DUSTY_HAMMER 0x00000086 +#define ITEM_INSECTICIDE_HERB 0x00000087 +#define ITEM_STONE_CAP 0x00000088 +#define ITEM_TASTY_TONIC 0x00000089 +#define ITEM_MUSHROOM 0x0000008A +#define ITEM_VOLT_SHROOM 0x0000008B +#define ITEM_SUPER_SHROOM 0x0000008C +#define ITEM_DRIED_SHROOM 0x0000008D +#define ITEM_ULTRA_SHROOM 0x0000008E +#define ITEM_SLEEPY_SHEEP 0x0000008F +#define ITEM_P_O_W_BLOCK 0x00000090 +#define ITEM_HUSTLE_DRINK 0x00000091 +#define ITEM_STOP_WATCH 0x00000092 +#define ITEM_WHACKAS_BUMP 0x00000093 +#define ITEM_APPLE 0x00000094 +#define ITEM_LIFE_SHROOM 0x00000095 +#define ITEM_MYSTERY 0x00000096 +#define ITEM_REPEL_GEL 0x00000097 +#define ITEM_FRIGHT_JAR 0x00000098 +#define ITEM_PLEASE_COME_BACK 0x00000099 +#define ITEM_DIZZY_DIAL 0x0000009A +#define ITEM_SUPER_SODA 0x0000009B +#define ITEM_LEMON 0x0000009C +#define ITEM_LIME 0x0000009D +#define ITEM_BLUE_BERRY 0x0000009E +#define ITEM_RED_BERRY 0x0000009F +#define ITEM_YELLOW_BERRY 0x000000A0 +#define ITEM_BUBBLE_BERRY 0x000000A1 +#define ITEM_JAMMIN_JELLY 0x000000A2 +#define ITEM_MAPLE_SYRUP 0x000000A3 +#define ITEM_HONEY_SYRUP 0x000000A4 +#define ITEM_GOOMNUT 0x000000A5 +#define ITEM_KOOPA_LEAF 0x000000A6 +#define ITEM_DRIED_PASTA 0x000000A7 +#define ITEM_DRIED_FRUIT 0x000000A8 +#define ITEM_STRANGE_LEAF 0x000000A9 +#define ITEM_CAKE_MIX 0x000000AA +#define ITEM_EGG2 0x000000AB +#define ITEM_COCONUT 0x000000AC +#define ITEM_MELON 0x000000AD +#define ITEM_STINKY_HERB 0x000000AE +#define ITEM_ICED_POTATO 0x000000AF +#define ITEM_SPICY_SOUP 0x000000B0 +#define ITEM_APPLE_PIE 0x000000B1 +#define ITEM_HONEY_ULTRA 0x000000B2 +#define ITEM_MAPLE_ULTRA 0x000000B3 +#define ITEM_JELLY_ULTRA 0x000000B4 +#define ITEM_KOOPASTA 0x000000B5 +#define ITEM_FRIED_SHROOM 0x000000B6 +#define ITEM_SHROOM_CAKE 0x000000B7 +#define ITEM_SHROOM_STEAK 0x000000B8 +#define ITEM_HOT_SHROOM 0x000000B9 +#define ITEM_SWEET_SHROOM 0x000000BA +#define ITEM_YUMMY_MEAL 0x000000BB +#define ITEM_HEALTHY_JUICE 0x000000BC +#define ITEM_BLAND_MEAL 0x000000BD +#define ITEM_DELUXE_FEAST 0x000000BE +#define ITEM_SPECIAL_SHAKE 0x000000BF +#define ITEM_BIG_COOKIE 0x000000C0 +#define ITEM_CAKE 0x000000C1 +#define ITEM_MISTAKE 0x000000C2 +#define ITEM_KOOPA_TEA 0x000000C3 +#define ITEM_HONEY_SUPER 0x000000C4 +#define ITEM_MAPLE_SUPER 0x000000C5 +#define ITEM_JELLY_SUPER 0x000000C6 +#define ITEM_SPAGHETTI 0x000000C7 +#define ITEM_EGG_MISSILE 0x000000C8 +#define ITEM_FRIED_EGG 0x000000C9 +#define ITEM_HONEY_SHROOM 0x000000CA +#define ITEM_HONEY_CANDY 0x000000CB +#define ITEM_ELECTRO_POP 0x000000CC +#define ITEM_FIRE_POP 0x000000CD +#define ITEM_LIME_CANDY 0x000000CE +#define ITEM_COCO_POP 0x000000CF +#define ITEM_LEMON_CANDY 0x000000D0 +#define ITEM_JELLY_POP 0x000000D1 +#define ITEM_STRANGE_CAKE 0x000000D2 +#define ITEM_KOOKY_COOKIE 0x000000D3 +#define ITEM_FROZEN_FRIES 0x000000D4 +#define ITEM_POTATO_SALAD 0x000000D5 +#define ITEM_NUTTY_CAKE 0x000000D6 +#define ITEM_MAPLE_SHROOM 0x000000D7 +#define ITEM_BOILED_EGG 0x000000D8 +#define ITEM_YOSHI_COOKIE 0x000000D9 +#define ITEM_JELLY_SHROOM1 0x000000DA +#define ITEM_JELLY_SHROOM2 0x000000DB +#define ITEM_JELLY_SHROOM3 0x000000DC +#define ITEM_JELLY_SHROOM4 0x000000DD +#define ITEM_JELLY_SHROOM5 0x000000DE +#define ITEM_JELLY_SHROOM6 0x000000DF +#define ITEM_SPIN_SMASH 0x000000E0 +#define ITEM_MULTIBOUNCE 0x000000E1 +#define ITEM_POWER_PLUS_A 0x000000E2 +#define ITEM_DODGE_MASTER 0x000000E3 +#define ITEM_POWER_BOUNCE 0x000000E4 +#define ITEM_SPIKE_SHIELD 0x000000E5 +#define ITEM_FIRST_ATTACK 0x000000E6 +#define ITEM_H_P_PLUS_A 0x000000E7 +#define ITEM_QUAKE_HAMMER 0x000000E8 +#define ITEM_DOUBLE_DIP 0x000000E9 +#define ITEM_MYSTERY_SCROLL 0x000000EA +#define ITEM_SLEEP_STOMP 0x000000EB +#define ITEM_FIRE_SHIELD 0x000000EC +#define ITEM_QUICK_CHANGE 0x000000ED +#define ITEM_D_DOWN_POUND 0x000000EE +#define ITEM_DIZZY_STOMP 0x000000EF +#define ITEM_SMASH_CHARGE0 0x000000F0 +#define ITEM_PRETTY_LUCKY 0x000000F1 +#define ITEM_FEELING_FINE 0x000000F2 +#define ITEM_ATTACK_F_X_A 0x000000F3 +#define ITEM_ALLOR_NOTHING 0x000000F4 +#define ITEM_H_P_DRAIN 0x000000F5 +#define ITEM_JUMP_CHARGE0 0x000000F6 +#define ITEM_SLOW_GO 0x000000F7 +#define ITEM_F_P_PLUS_A 0x000000F8 +#define ITEM_MEGA_RUSH 0x000000F9 +#define ITEM_ICE_POWER 0x000000FA +#define ITEM_DEFEND_PLUS_A 0x000000FB +#define ITEM_PAY_OFF 0x000000FC +#define ITEM_MONEY_MONEY 0x000000FD +#define ITEM_CHILL_OUT 0x000000FE +#define ITEM_HAPPY_HEART_A 0x000000FF +#define ITEM_ZAP_TAP 0x00000100 +#define ITEM_BERSERKER 0x00000101 +#define ITEM_RIGHT_ON 0x00000102 +#define ITEM_RUNAWAY_PAY 0x00000103 +#define ITEM_REFUND 0x00000104 +#define ITEM_FLOWER_SAVER_A 0x00000105 +#define ITEM_TRIPLE_DIP 0x00000106 +#define ITEM_HAMMER_THROW 0x00000107 +#define ITEM_MEGA_QUAKE 0x00000108 +#define ITEM_SMASH_CHARGE 0x00000109 +#define ITEM_JUMP_CHARGE 0x0000010A +#define ITEM_S_SMASH_CHG 0x0000010B +#define ITEM_S_JUMP_CHG 0x0000010C +#define ITEM_POWER_RUSH 0x0000010D +#define ITEM_AUTO_JUMP 0x0000010E +#define ITEM_AUTO_SMASH 0x0000010F +#define ITEM_CRAZY_HEART 0x00000110 +#define ITEM_LAST_STAND 0x00000111 +#define ITEM_CLOSE_CALL 0x00000112 +#define ITEM_P_UP_D_DOWN 0x00000113 +#define ITEM_LUCKY_DAY 0x00000114 +#define ITEM_MEGA_H_P_DRAIN 0x00000115 +#define ITEM_P_DOWN_D_UP 0x00000116 +#define ITEM_POWER_QUAKE 0x00000117 +#define ITEM_AUTO_MULTIBOUNCE 0x00000118 +#define ITEM_FLOWER_FANATIC 0x00000119 +#define ITEM_HEART_FINDER 0x0000011A +#define ITEM_FLOWER_FINDER 0x0000011B +#define ITEM_SPIN_ATTACK 0x0000011C +#define ITEM_DIZZY_ATTACK 0x0000011D +#define ITEM_I_SPY 0x0000011E +#define ITEM_SPEEDY_SPIN 0x0000011F +#define ITEM_BUMP_ATTACK 0x00000120 +#define ITEM_POWER_JUMP 0x00000121 +#define ITEM_SUPER_JUMP 0x00000122 +#define ITEM_MEGA_JUMP 0x00000123 +#define ITEM_POWER_SMASH1 0x00000124 +#define ITEM_SUPER_SMASH 0x00000125 +#define ITEM_MEGA_SMASH 0x00000126 +#define ITEM_POWER_SMASH2 0x00000127 +#define ITEM_POWER_SMASH3 0x00000128 +#define ITEM_DEEP_FOCUS1 0x00000129 +#define ITEM_SUPER_FOCUS 0x0000012A +#define ITEM_SHRINK_SMASH 0x0000012B +#define ITEM_SHELL_CRACK 0x0000012C +#define ITEM_KAIDEN 0x0000012D +#define ITEM_D_DOWN_JUMP 0x0000012E +#define ITEM_SHRINK_STOMP 0x0000012F +#define ITEM_DAMAGE_DODGE_A 0x00000130 +#define ITEM_EARTHQUAKE_JUMP 0x00000131 +#define ITEM_DEEP_FOCUS2 0x00000132 +#define ITEM_DEEP_FOCUS3 0x00000133 +#define ITEM_H_P_PLUS_B 0x00000134 +#define ITEM_F_P_PLUS_B 0x00000135 +#define ITEM_HAPPY_HEART_B 0x00000136 +#define ITEM_HAPPY_HEART_X 0x00000137 +#define ITEM_FLOWER_SAVER_B 0x00000138 +#define ITEM_FLOWER_SAVER_X 0x00000139 +#define ITEM_DAMAGE_DODGE_B 0x0000013A +#define ITEM_DAMAGE_DODGE_X 0x0000013B +#define ITEM_POWER_PLUS_B 0x0000013C +#define ITEM_POWER_PLUS_X 0x0000013D +#define ITEM_DEFEND_PLUS_X 0x0000013E +#define ITEM_DEFEND_PLUS_Y 0x0000013F +#define ITEM_HAPPY_FLOWER_A 0x00000140 +#define ITEM_HAPPY_FLOWER_B 0x00000141 +#define ITEM_HAPPY_FLOWER_X 0x00000142 +#define ITEM_GROUP_FOCUS 0x00000143 +#define ITEM_PEEKABOO 0x00000144 +#define ITEM_ATTACK_F_X_D 0x00000145 +#define ITEM_ATTACK_F_X_B 0x00000146 +#define ITEM_ATTACK_F_X_E 0x00000147 +#define ITEM_ATTACK_F_X_C 0x00000148 +#define ITEM_ATTACK_F_X_F 0x00000149 +#define ITEM_H_P_PLUS_C 0x0000014A +#define ITEM_H_P_PLUS_X 0x0000014B +#define ITEM_H_P_PLUS_Y 0x0000014C +#define ITEM_F_P_PLUS_C 0x0000014D +#define ITEM_F_P_PLUS_X 0x0000014E +#define ITEM_F_P_PLUS_Y 0x0000014F +#define ITEM_HEALTHY_HEALTHY 0x00000150 +#define ITEM_ATTACK_F_X_F2 0x00000151 +#define ITEM_ATTACK_F_X_F3 0x00000152 +#define ITEM_ATTACK_F_X_F4 0x00000153 +#define ITEM_ATTACK_F_X_F5 0x00000154 +#define ITEM_PARTNER_ATTACK 0x00000155 +#define ITEM_HEART 0x00000156 +#define ITEM_COIN 0x00000157 +#define ITEM_HEART_PIECE 0x00000158 +#define ITEM_STAR_POINT 0x00000159 +#define ITEM_FULL_HEAL 0x0000015A +#define ITEM_FLOWER 0x0000015B +#define ITEM_STAR_PIECE 0x0000015C +#define ITEM_PRESENT 0x0000015D +#define ITEM_COMPLETE_CAKE 0x0000015E +#define ITEM_BARE_CAKE 0x0000015F +#define ITEM_EMPTY_CAKE_PAN 0x00000160 +#define ITEM_FULL_CAKE_PAN 0x00000161 +#define ITEM_EMPTY_MIXING_BOWL 0x00000162 +#define ITEM_FULL_MIXING_BOWL 0x00000163 +#define ITEM_CAKE_WITH_ICING 0x00000164 +#define ITEM_CAKE_WITH_BERRIES 0x00000165 +#define ITEM_HAMMER1_ICON 0x00000166 +#define ITEM_HAMMER2_ICON 0x00000167 +#define ITEM_HAMMER3_ICON 0x00000168 +#define ITEM_BOOTS1_ICON 0x00000169 +#define ITEM_BOOTS2_ICON 0x0000016A +#define ITEM_BOOTS3_ICON 0x0000016B +#define ITEM_ITEMS_ICON 0x0000016C + +typedef UNK_TYPE PLAYER_ANIM; +#define PLAYER_ANIM_STAND_STILL 0x00010000 +#define PLAYER_ANIM_CROUCH_STILL 0x00010001 +#define PLAYER_ANIM_PANTING 0x00010003 +#define PLAYER_ANIM_WALKING 0x00010004 +#define PLAYER_ANIM_RUNNING 0x00010005 +#define PLAYER_ANIM_BEFORE_JUMP 0x00010006 +#define PLAYER_ANIM_MIDAIR_STILL 0x00010007 +#define PLAYER_ANIM_MIDAIR 0x00010008 +#define PLAYER_ANIM_STUNNED_STILL 0x0001000E +#define PLAYER_ANIM_DEAD_STILL 0x0001000F +#define PLAYER_ANIM_SPINNING 0x00010011 +#define PLAYER_ANIM_FLAILING 0x00010012 +#define PLAYER_ANIM_SIT_STILL 0x00010013 +#define PLAYER_ANIM_CROUCH 0x00010014 +#define PLAYER_ANIM_STONE_STILL 0x00010015 +#define PLAYER_ANIM_THROW 0x00010016 +#define PLAYER_ANIM_FALL_BACK 0x00010017 +#define PLAYER_ANIM_FALL_DOWN 0x00010018 +#define PLAYER_ANIM_SCARED 0x00010019 +#define PLAYER_ANIM_HURT_FOOT 0x0001001A +#define PLAYER_ANIM_RUN_PANIC 0x0001001B +#define PLAYER_ANIM_EAT 0x0001001C +#define PLAYER_ANIM_STICK_OUT_TONGUE 0x0001001D +#define PLAYER_ANIM_PLANT 0x0001001E +#define PLAYER_ANIM_GOT_ITEM 0x0001001F +#define PLAYER_ANIM_READY_JUMP 0x00010020 +#define PLAYER_ANIM_THINKING 0x00010021 +#define PLAYER_ANIM_LOST_BALANCE 0x00010022 +#define PLAYER_ANIM_SHOCK_STILL 0x00010023 +#define PLAYER_ANIM_DRINK 0x00010025 +#define PLAYER_ANIM_SQUISH 0x00010026 +#define PLAYER_ANIM_RUN_THINKING 0x00010027 +#define PLAYER_ANIM_QUESTION 0x00010028 +#define PLAYER_ANIM_NOD_YES 0x00010029 +#define PLAYER_ANIM_PRAY 0x0001002C +#define PLAYER_ANIM_CHARRED 0x0001002F +#define PLAYER_ANIM_GET_UP 0x00010030 +#define PLAYER_ANIM_DUST_OFF 0x00010031 +#define PLAYER_ANIM_THUMBS_UP 0x00010032 + +typedef UNK_TYPE AMBIENT_SOUNDS; +#define AMBIENT_SOUNDS_SPOOKY 0x00000000 +#define AMBIENT_SOUNDS_WIND 0x00000001 +#define AMBIENT_SOUNDS_BEACH 0x00000002 +#define AMBIENT_SOUNDS_JUNGLE 0x00000003 +#define AMBIENT_SOUNDS_UNDER_SEA1 0x00000004 +#define AMBIENT_SOUNDS_UNDER_SEA2 0x00000005 +#define AMBIENT_SOUNDS_SILENCE 0x00000006 +#define AMBIENT_SOUNDS_UNDER_SEA3 0x00000007 +#define AMBIENT_SOUNDS_UNDER_SEA4 0x00000008 +#define AMBIENT_SOUNDS_EXIT_SEA 0x00000009 +#define AMBIENT_SOUNDS_UNDER_SEA5 0x0000000A +#define AMBIENT_SOUNDS_UNDER_SEA6 0x0000000B +#define AMBIENT_SOUNDS_BIRDS 0x0000000C +#define AMBIENT_SOUNDS_SEA 0x0000000D +#define AMBIENT_SOUNDS_MUSIC 0x00000010 + +typedef UNK_TYPE OUTCOME; +#define OUTCOME_PLAYER_WON 0x00000000 +#define OUTCOME_PLAYER_LOST 0x00000001 +#define OUTCOME_PLAYER_FLED 0x00000002 +#define OUTCOME_ENEMY_FLED 0x00000003 + +typedef UNK_TYPE DECORATION; +#define DECORATION_GOLDEN_FLAMES 0x00000001 +#define DECORATION_SWEAT 0x00000002 +#define DECORATION_SEEING_STARS 0x00000003 +#define DECORATION_RED_FLAMES 0x00000004 +#define DECORATION_GREY_SMOKE_TRAIL 0x00000005 +#define DECORATION_FIRE_SMOKE_TRAIL 0x00000006 +#define DECORATION_WHIRLWIND 0x00000007 +#define DECORATION_STEAM_EMITTER 0x00000008 +#define DECORATION_RADIAL_STAR_EMITTER 0x0000000B + +typedef UNK_TYPE HIT_RESULT; +#define HIT_RESULT_HIT 0x00000000 +#define HIT_RESULT_LANDED_ON_SPIKE 0x00000004 +#define HIT_RESULT_LUCKY 0x00000005 +#define HIT_RESULT_MISS 0x00000006 +#define HIT_RESULT_HIT_STATIC 0x00000007 +#define HIT_RESULT_IMMUNE 0x00000008 +#define HIT_RESULT_TRIGGERED_EXPLODE -1 + +typedef UNK_TYPE ITER; +#define ITER_FIRST 0xFFFFFFFF +#define ITER_LAST 0x0000000A +#define ITER_NEXT 0x00000000 +#define ITER_PREV 0x00000001 + +typedef UNK_TYPE ACTOR_SOUND; +#define ACTOR_SOUND_WALK 0x00000000 +#define ACTOR_SOUND_FLY 0x00000001 +#define ACTOR_SOUND_JUMP 0x00000002 +#define ACTOR_SOUND_HURT 0x00000003 +#define ACTOR_SOUND_WALK_INCREMENT 0x00000004 +#define ACTOR_SOUND_FLY_INCREMENT 0x00000005 + +typedef UNK_TYPE PHASE; +#define PHASE_EXECUTE_ACTION 0x00000000 +#define PHASE_FIRST_STRIKE 0x00000001 +#define PHASE_RUN_AWAY_START 0x00000003 +#define PHASE_RUN_AWAY_RESET 0x00000004 +#define PHASE_RUN_AWAY_FAIL 0x00000007 +#define PHASE_USE_DEFEND 0x00000006 +#define PHASE_USE_LIFE_SHROOM 0x00000008 +#define PHASE_PLAYER_BEGIN 0x0000000A +#define PHASE_PLAYER_END 0x0000000D +#define PHASE_ENEMY_BEGIN 0x0000000C +#define PHASE_ENEMY_END 0x0000000B +#define PHASE_MERLEE_ATTACK_BONUS 0x00000014 +#define PHASE_MERLEE_DEFENSE_BONUS 0x00000015 +#define PHASE_MERLEE_EXP_BONUS 0x00000016 +#define PHASE_PLAYER_HAPPY 0x0000001E + +typedef UNK_TYPE ACTOR; +#define ACTOR_SELF 0xFFFFFF81 +#define ACTOR_PLAYER 0x00000000 +#define ACTOR_PARTNER 0x00000100 +#define ACTOR_ENEMY0 0x00000200 +#define ACTOR_ENEMY1 0x00000201 +#define ACTOR_ENEMY2 0x00000202 +#define ACTOR_ENEMY3 0x00000203 +#define ACTOR_ENEMY4 0x00000204 +#define ACTOR_ENEMY5 0x00000205 +#define ACTOR_ENEMY6 0x00000206 +#define ACTOR_ENEMY7 0x00000207 +#define ACTOR_ENEMY8 0x00000208 +#define ACTOR_ENEMY9 0x00000209 +#define ACTOR_ENEMY10 0x0000020A +#define ACTOR_ENEMY11 0x0000020B +#define ACTOR_ENEMY12 0x0000020C +#define ACTOR_ENEMY13 0x0000020D +#define ACTOR_ENEMY14 0x0000020E +#define ACTOR_ENEMY15 0x0000020F +#define ACTOR_ENEMY16 0x00000210 +#define ACTOR_ENEMY17 0x00000211 +#define ACTOR_ENEMY18 0x00000212 +#define ACTOR_ENEMY19 0x00000213 +#define ACTOR_ENEMY20 0x00000214 +#define ACTOR_ENEMY21 0x00000215 +#define ACTOR_ENEMY22 0x00000216 +#define ACTOR_ENEMY23 0x00000217 + +typedef UNK_TYPE ELEMENT; +#define ELEMENT_NORMAL 0x00000001 +#define ELEMENT_FIRE 0x00000002 +#define ELEMENT_WATER 0x00000003 +#define ELEMENT_ICE 0x00000004 +#define ELEMENT_MYSTERY 0x00000005 +#define ELEMENT_MAGIC 0x00000007 +#define ELEMENT_HAMMER 0x00000008 +#define ELEMENT_JUMP 0x00000009 +#define ELEMENT_COSMIC 0x0000000A +#define ELEMENT_BLAST 0x0000000B +#define ELEMENT_SHOCK 0x0000000C +#define ELEMENT_QUAKE 0x0000000D +#define ELEMENT_THROW 0x0000000F +#define ELEMENT_END 0x00000000 + +typedef UNK_TYPE EVENT; +#define EVENT_IMMUNE 0x00000019 +#define EVENT_HIT_COMBO 0x00000009 +#define EVENT_HIT 0x0000000A +#define EVENT_DEATH 0x00000020 +#define EVENT_FALL_TRIGGER 0x0000000C +#define EVENT_FLIP_TRIGGER 0x0000000D +#define EVENT_EXPLODE_TRIGGER 0x00000022 +#define EVENT_SPIN_SMASH_HIT 0x0000000B +#define EVENT_SPIN_SMASH_DEATH 0x00000021 +#define EVENT_SPIN_SMASH_LAUNCH_HIT 0x00000011 +#define EVENT_SPIN_SMASH_LAUNCH_DEATH 0x00000015 +#define EVENT_POWER_BOUNCE_HIT 0x00000015 +#define EVENT_POWER_BOUNCE_DEATH 0x00000028 +#define EVENT_BURN_HIT 0x0000000E +#define EVENT_BURN_DEATH 0x00000024 +#define EVENT_SHOCK_HIT 0x0000002F +#define EVENT_SHOCK_DEATH 0x00000026 +#define EVENT_BEGIN_AIR_LIFT 0x0000003A +#define EVENT_AIR_LIFT_FAILED 0x0000001F +#define EVENT_BLOW_AWAY 0x00000016 +#define EVENT_SCARE_AWAY 0x00000039 +#define EVENT_UP_AND_AWAY 0x0000003D +#define EVENT_STAR_BEAM 0x00000013 +#define EVENT_RECOVER_STATUS 0x00000031 +#define EVENT_SWAP_PARTNER 0x0000003F +#define EVENT_BLOCK 0x0000001A +#define EVENT_SPIKE_CONTACT 0x0000002A +#define EVENT_SPIKE_DEATH 0x00000027 +#define EVENT_SPIKE_TAUNT 0x0000001B +#define EVENT_BURN_CONTACT 0x0000002C +#define EVENT_BURN_TAUNT 0x0000001C +#define EVENT_BEGIN_FIRST_STRIKE 0x00000038 +#define EVENT_END_FIRST_STRIKE 0x00000035 +#define EVENT_LIFE_SHROOM_PROC 0x00000040 +#define EVENT_REVIVE 0x00000041 +#define EVENT_LUCKY 0x00000037 + +typedef UNK_TYPE HIT_SOUND; +#define HIT_SOUND_MISS 0x00000000 +#define HIT_SOUND_BONES 0x00000001 +#define HIT_SOUND_NORMAL 0x00000002 +#define HIT_SOUND_FIRE 0x00000003 +#define HIT_SOUND_ICE 0x00000004 +#define HIT_SOUND_SHOCK 0x00000005 + +typedef UNK_TYPE STATUS; +#define STATUS_NORMAL 0x00000001 +#define STATUS_DEFAULT 0x00000002 +#define STATUS_DEFAULT_TURN_MOD 0x0000001F +#define STATUS_SLEEP 0x00000006 +#define STATUS_SLEEP_TURN_MOD 0x00000020 +#define STATUS_POISON 0x00000009 +#define STATUS_POISON_TURN_MOD 0x00000025 +#define STATUS_FROZEN 0x00000007 +#define STATUS_FROZEN_TURN_MOD 0x00000022 +#define STATUS_DIZZY 0x00000004 +#define STATUS_DIZZY_TURN_MOD 0x00000024 +#define STATUS_FEAR 0x00000003 +#define STATUS_FEAR_TURN_MOD 0x00000023 +#define STATUS_STATIC 0x0000000B +#define STATUS_STATIC_TURN_MOD 0x00000021 +#define STATUS_PARALYZE 0x00000005 +#define STATUS_PARALYZE_TURN_MOD 0x00000026 +#define STATUS_SHRINK 0x0000000A +#define STATUS_SHRINK_TURN_MOD 0x00000027 +#define STATUS_STOP 0x00000008 +#define STATUS_STOP_TURN_MOD 0x00000029 +#define STATUS_STONE 0x0000000C +#define STATUS_DAZE 0x0000000D +#define STATUS_END 0x00000000 +#define STATUS_BERSERK 0x00000010 +#define STATUS_TURN_DONE 0x00000012 +#define STATUS_HUSTLE 0x00000019 +#define STATUS_DANGER 0x0000001A +#define STATUS_THINKING 0x0000001C +#define STATUS_WEARY 0x0000001D + +typedef UNK_TYPE DOOR_SWING; +#define DOOR_SWING_IN 0x00000001 +#define DOOR_SWING_OUT -1 + +typedef UNK_TYPE ITEM_SPAWN_MODE; +#define ITEM_SPAWN_MODE_DECORATION 0x00000001 +#define ITEM_SPAWN_MODE_TOSS__SPAWN_ALWAYS 0x00000003 +#define ITEM_SPAWN_MODE_BATTLE_REWARD 0x00000004 +#define ITEM_SPAWN_MODE_TOSS__NEVER_VANISH 0x00000005 +#define ITEM_SPAWN_MODE_TOSS 0x00000006 +#define ITEM_SPAWN_MODE_TOSS__SPAWN_ONCE 0x00000007 +#define ITEM_SPAWN_MODE_TOSS__SPAWN_ONCE__NEVER_VANISH 0x00000008 +#define ITEM_SPAWN_MODE_TOSS__SPAWN_ALWAYS__NEVER_VANISH 0x00000009 +#define ITEM_SPAWN_MODE_ITEM_BLOCK__ITEM 0x0000000A +#define ITEM_SPAWN_MODE_ITEM_BLOCK__BADGE 0x0000000B +#define ITEM_SPAWN_MODE_FALL__SPAWN_ALWAYS 0x0000000C +#define ITEM_SPAWN_MODE_FALL__NEVER_VANISH 0x0000000D +#define ITEM_SPAWN_MODE_FALL 0x0000000E +#define ITEM_SPAWN_MODE_FALL__SPAWN_ONCE 0x0000000F +#define ITEM_SPAWN_MODE_FIXED__SPAWN_ALWAYS 0x00000010 +#define ITEM_SPAWN_MODE_FIXED__NEVER_VANISH 0x00000011 +#define ITEM_SPAWN_MODE_FIXED 0x00000012 +#define ITEM_SPAWN_MODE_FIXED__SPAWN_ALWAYS__NEVER_VANISH 0x00000013 +#define ITEM_SPAWN_MODE_ITEM_BLOCK__SPAWN_ALWAYS 0x00000014 +#define ITEM_SPAWN_MODE_ITEM_BLOCK__COIN 0x00000015 +#define ITEM_SPAWN_MODE_TOSS__HIGHER__NEVER_VANISH 0x00000016 +#define ITEM_SPAWN_MODE_TOSS__SPAWN_ALWAYS__SMALL 0x0000001A + +typedef UNK_TYPE LOCATION; +#define LOCATION_NONE 0x00000018 +#define LOCATION_TESTING 0x00000017 +#define LOCATION_TOAD_TOWN 0x00000001 +#define LOCATION_PEACH_CASTLE_GROUNDS 0x00000019 +#define LOCATION_SHOOTING_STAR_SUMMIT 0x0000001B +#define LOCATION_TOAD_TOWN_TUNNELS 0x00000002 +#define LOCATION_GOOMBA_VILLAGE 0x0000001E +#define LOCATION_GOOMBA_ROAD 0x0000001F +#define LOCATION_PLEASANT_PATH 0x00000020 +#define LOCATION_KOOPA_VILLAGE 0x00000021 +#define LOCATION_KOOPA_BROS_FORTRESS 0x00000007 +#define LOCATION_MT_RUGGED 0x00000008 +#define LOCATION_DRY_DRY_DESERT 0x0000000A +#define LOCATION_DRY_DRY_OUTPOST 0x00000009 +#define LOCATION_DRY_DRY_RUINS 0x0000000B +#define LOCATION_FOREVER_FOREST 0x0000000C +#define LOCATION_BOOS_MANSION 0x0000000D +#define LOCATION_GUSTY_GULCH 0x00000022 +#define LOCATION_TUBBAS_MANOR 0x0000000F +#define LOCATION_WINDY_MILL 0x00000023 +#define LOCATION_SHY_GUYS_TOYBOX 0x00000010 +#define LOCATION_JADE_JUNGLE 0x00000024 +#define LOCATION_YOSHIS_VILLAGE 0x00000025 +#define LOCATION_MT_LAVALAVA 0x00000012 +#define LOCATION_FLOWER_FIELDS 0x00000026 +#define LOCATION_CLOUDY_CLIMB 0x00000027 +#define LOCATION_SHIVER_CITY 0x00000028 +#define LOCATION_SHIVER_SNOWFIELD 0x00000029 +#define LOCATION_STARBORN_VALLEY 0x0000002A +#define LOCATION_SHIVER_MOUNTAIN 0x0000002B +#define LOCATION_CRYSTAL_PALACE 0x00000015 +#define LOCATION_STAR_WAY 0x0000001C +#define LOCATION_STAR_HAVEN 0x0000001D +#define LOCATION_BOWSERS_CASTLE 0x00000016 +#define LOCATION_PEACHS_CASTLE 0x0000001A +#define LOCATION_MARIOS_HOUSE 0x0000002C + +typedef UNK_TYPE ENTITY; +#define ENTITY_SAVE_POINT 0x802E9A18 +#define ENTITY_RED_SWITCH 0x802E9BB0 +#define ENTITY_BLUE_SWITCH 0x802E9BD4 +#define ENTITY_HUGE_BLUE_SWITCH 0x802E9BF8 +#define ENTITY_GREEN_STOMP_SWITCH 0x802E9C1C +#define ENTITY_MULTI_TRIGGER_BLOCK 0x802EA07C +#define ENTITY_BRICK_BLOCK 0x802EA0C4 +#define ENTITY_MULTI_COIN_BRICK 0x802EA0E8 +#define ENTITY_HAMMER1_BLOCK 0x802EA10C +#define ENTITY_HAMMER1_BLOCK_WIDE 0x802EA130 +#define ENTITY_HAMMER1_BLOCK_THICK 0x802EA154 +#define ENTITY_HAMMER1_BLOCK_TINY 0x802EA178 +#define ENTITY_HAMMER2_BLOCK 0x802EA19C +#define ENTITY_HAMMER2_BLOCK_WIDE 0x802EA1C0 +#define ENTITY_HAMMER2_BLOCK_THICK 0x802EA1E4 +#define ENTITY_HAMMER2_BLOCK_TINY 0x802EA208 +#define ENTITY_HAMMER3_BLOCK 0x802EA22C +#define ENTITY_HAMMER3_BLOCK_WIDE 0x802EA250 +#define ENTITY_HAMMER3_BLOCK_THICK 0x802EA274 +#define ENTITY_HAMMER3_BLOCK_TINY 0x802EA298 +#define ENTITY_POW_BLOCK 0x802EA2E0 +#define ENTITY_YELLOW_BLOCK 0x802EA564 +#define ENTITY_HIDDEN_YELLOW_BLOCK 0x802EA588 +#define ENTITY_RED_BLOCK 0x802EA5AC +#define ENTITY_HIDDEN_RED_BLOCK 0x802EA5D0 +#define ENTITY_SINGLE_TRIGGER_BLOCK 0x802EA5F4 +#define ENTITY_HEALING_BLOCK 0x802EA7E0 +#define ENTITY_SUPER_BLOCK 0x802EA910 +#define ENTITY_SCRIPT_SPRING 0x802EAA30 +#define ENTITY_SIMPLE_SPRING 0x802EAA54 +#define ENTITY_HIDDEN_PANEL 0x802EAB04 +#define ENTITY_GIANT_CHEST 0x802EAE0C +#define ENTITY_CHEST 0x802EAE30 +#define ENTITY_BLUE_WARP_PIPE 0x802EAF80 +#define ENTITY_WOODEN_CRATE 0x802EAED4 +#define ENTITY_SIGNPOST 0x802EAFDC +#define ENTITY_PADLOCK 0x802BCD68 +#define ENTITY_PADLOCK_RED_FRAME 0x802BCD8C +#define ENTITY_PADLOCK_RED_FACE 0x802BCDB0 +#define ENTITY_PADLOCK_BLUE_FACE 0x802BCDD4 +#define ENTITY_BOARDED_FLOOR 0x802BCE84 +#define ENTITY_BOMBABLE_ROCK1 0x802BCF00 +#define ENTITY_BOMBABLE_ROCK2 0x802BCF24 +#define ENTITY_CYMBAL_PLANT 0x802BC788 +#define ENTITY_PINK_FLOWER 0x802BC7AC +#define ENTITY_SPINNING_FLOWER 0x802BC7F4 +#define ENTITY_BELLBELL_PLANT 0x802BCBD8 +#define ENTITY_TRUMPET_PLANT 0x802BCBFC +#define ENTITY_SPONGY_FLOWER 0x802BCC20 +#define ENTITY_RED_ARROW_SIGNS 0x802BCD9C +#define ENTITY_TWEESTER 0x802BCA74 +#define ENTITY_STAR_BOX_LAUCHER 0x802BCB44 + +typedef UNK_TYPE DOOR_SOUNDS; +#define DOOR_SOUNDS_BASIC 0x00000000 +#define DOOR_SOUNDS_METAL 0x00000001 +#define DOOR_SOUNDS_LARGE 0x00000002 +#define DOOR_SOUNDS_CREAKY 0x00000003 +#define DOOR_SOUNDS_GATE 0x00000004 + +typedef UNK_TYPE ACTION_STATE; +#define ACTION_STATE_IDLE 0x00000000 +#define ACTION_STATE_WALK 0x00000001 +#define ACTION_STATE_RUN 0x00000002 +#define ACTION_STATE_JUMP 0x00000003 +#define ACTION_STATE_BOUNCE 0x00000004 +#define ACTION_STATE_ABORTED_JUMP 0x00000005 +#define ACTION_STATE_LAUNCH 0x00000006 +#define ACTION_STATE_FALLING 0x00000008 +#define ACTION_STATE_STEP_DOWN 0x00000009 +#define ACTION_STATE_LAND 0x0000000A +#define ACTION_STATE_STEP_DOWN_LAND 0x0000000B +#define ACTION_STATE_CONVERSATION 0x0000000C +#define ACTION_STATE_SPIN_JUMP 0x0000000D +#define ACTION_STATE_GROUND_POUND 0x0000000E +#define ACTION_STATE_ULTRA_JUMP 0x0000000F +#define ACTION_STATE_ULTRA_POUND 0x00000010 +#define ACTION_STATE_SLIDING 0x00000011 +#define ACTION_STATE_HAMMER 0x00000012 +#define ACTION_STATE_HIT_HAZARD 0x00000015 +#define ACTION_STATE_HIT_LAVA 0x00000017 +#define ACTION_STATE_SPIN 0x0000001A +#define ACTION_STATE_ENEMY_FIRST_STRIKE 0x0000001B +#define ACTION_STATE_SPINNING_FLOWER 0x0000001D +#define ACTION_STATE_USE_TWEESTER 0x0000001F +#define ACTION_STATE_RIDE 0x00000021 +#define ACTION_STATE_STEP_UP 0x00000022 +#define ACTION_STATE_USE_SPRING 0x00000026 + +typedef UNK_TYPE NPC; +#define NPC_SELF 0xFFFFFFFF +#define NPC_PLAYER 0xFFFFFFFE +#define NPC_PARTNER 0xFFFFFFFC + +typedef UNK_TYPE TRIGGER; +#define TRIGGER_FLOOR_TOUCH 0x00000080 +#define TRIGGER_FLOOR_ABOVE 0x00080000 +#define TRIGGER_FLOOR_PRESS_A 0x00000800 +#define TRIGGER_FLOOR_JUMP 0x00000200 +#define TRIGGER_WALL_TOUCH 0x00000400 +#define TRIGGER_WALL_PUSH 0x00000040 +#define TRIGGER_WALL_PRESS_A 0x00000100 +#define TRIGGER_WALL_HAMMER 0x00001000 +#define TRIGGER_CEILING_TOUCH 0x00040000 +#define TRIGGER_POINT_BOMB 0x00100000 +#define TRIGGER_GAME_FLAG_SET 0x00010000 +#define TRIGGER_AREA_FLAG_SET 0x00020000 + +typedef UNK_TYPE BUTTONS; +#define BUTTONS_A 0x00008000 +#define BUTTONS_B 0x00004000 +#define BUTTONS_Z 0x00002000 +#define BUTTONS_START 0x00001000 +#define BUTTONS_D_UP 0x00000800 +#define BUTTONS_D_DOWN 0x00000400 +#define BUTTONS_D_LEFT 0x00000200 +#define BUTTONS_D_RIGHT 0x00000100 +#define BUTTONS_L 0x00000020 +#define BUTTONS_R 0x00000010 +#define BUTTONS_C_UP 0x00000008 +#define BUTTONS_C_DOWN 0x00000004 +#define BUTTONS_C_LEFT 0x00000002 +#define BUTTONS_C_RIGHT 0x00000001 + +typedef UNK_TYPE PLAYER_BUFF; +#define PLAYER_BUFF_ALL 0x0FFFFFFF +#define PLAYER_BUFF_JUMP_CHARGE 0x00000001 +#define PLAYER_BUFF_HAMMER_CHARGE 0x00000002 +#define PLAYER_BUFF_STONE 0x00000008 +#define PLAYER_BUFF_HUSTLE 0x00000010 +#define PLAYER_BUFF_STATIC 0x00000020 +#define PLAYER_BUFF_TRANSPARENT 0x00000040 +#define PLAYER_BUFF_CLOUD_NINE 0x00000080 +#define PLAYER_BUFF_TURBO_CHARGE 0x00000100 +#define PLAYER_BUFF_WATER_BLOCK 0x00000200 +#define PLAYER_BUFF_PARTNER_GLOWING 0x00010000 + +typedef UNK_TYPE STATUS_FLAGS; +#define STATUS_FLAGS_SLEEP 0x00001000 +#define STATUS_FLAGS_STATIC 0x00002000 +#define STATUS_FLAGS_FROZEN 0x00004000 +#define STATUS_FLAGS_UNKNOWN_STATUS3 0x00008000 +#define STATUS_FLAGS_PARALYZE 0x00010000 +#define STATUS_FLAGS_POISON 0x00020000 +#define STATUS_FLAGS_DIZZY 0x00040000 +#define STATUS_FLAGS_SHRINK 0x00080000 +#define STATUS_FLAGS_STONE 0x00100000 +#define STATUS_FLAGS_STOP 0x00200000 +#define STATUS_FLAGS_K_O 0x01000000 +#define STATUS_FLAGS_GLOWING 0x02000000 +#define STATUS_FLAGS_TRANSPARENT 0x04000000 +#define STATUS_FLAGS_ATTACK_BOOST 0x08000000 +#define STATUS_FLAGS_DEFENSE_BOOST 0x10000000 +#define STATUS_FLAGS_CHILL_OUT 0x20000000 +#define STATUS_FLAGS_RIGHT_ON 0x40000000 + +typedef UNK_TYPE DAMAGE_TYPE; +#define DAMAGE_TYPE_IGNORE_DEFENSE 0x08000000 +#define DAMAGE_TYPE_NO_CONTACT 0x10000000 +#define DAMAGE_TYPE_UNBLOCKABLE 0x20000000 +#define DAMAGE_TYPE_TRIGGER_LUCKY 0x80000000 +#define DAMAGE_TYPE_FIRE 0x00000002 +#define DAMAGE_TYPE_WATER 0x00000004 +#define DAMAGE_TYPE_ICE 0x00000008 +#define DAMAGE_TYPE_MAGIC 0x00000010 +#define DAMAGE_TYPE_ELECTRIC 0x00000020 +#define DAMAGE_TYPE_SMASH 0x00000040 +#define DAMAGE_TYPE_JUMP 0x00000080 +#define DAMAGE_TYPE_COSMIC 0x00000100 +#define DAMAGE_TYPE_BLAST 0x00000200 +#define DAMAGE_TYPE_P_O_W 0x00000400 +#define DAMAGE_TYPE_QUAKE 0x00000800 +#define DAMAGE_TYPE_THROW 0x00040000 + +#endif diff --git a/include/items.h b/include/items.h deleted file mode 100644 index b22fd81369..0000000000 --- a/include/items.h +++ /dev/null @@ -1,367 +0,0 @@ -#ifndef _ITEMS_H_ -#define _ITEMS_H_ - -#include "ultra64.h" -#include "types.h" - -typedef enum eItem { - JUMP = 0x0001, - SPIN_JUMP = 0x0002, - TORNADO_JUMP = 0x0003, - HAMMER = 0x0004, - SUPER_HAMMER = 0x0005, - ULTRA_HAMMER = 0x0006, - LUCKY_STAR = 0x0007, - MAP = 0x0008, // unused - BIG_MAP = 0x0009, // unused - FIRST_DEGREE_CARD = 0x000A, - SECOND_DEGREE_CARD = 0x000B, - THIRD_DEGREE_CARD = 0x000C, - FOURTH_DEGREE_CARD = 0x000D, - DIPLOMA = 0x000E, - ULTRA_STONE = 0x000F, - FORTRESS_KEY = 0x0010, - RUINS_KEY = 0x0011, - PULSE_STONE = 0x0012, - CASTLE_KEY1 = 0x0013, - PALACE_KEY = 0x0014, - LUNAR_STONE = 0x0015, - PYRAMID_STONE = 0x0016, - DIAMOND_STONE = 0x0017, - GOLDEN_VASE = 0x0018, // unused - KOOPERS_SHELL = 0x0019, - CASTLE_KEY2 = 0x001A, - FOREST_PASS = 0x001B, // unused - WEIGHT = 0x001C, - BOOS_PORTRAIT = 0x001D, - CRYSTAL_BERRY = 0x001E, - MYSTICAL_KEY = 0x001F, - STOREROOM_KEY = 0x0020, - TOY_TRAIN = 0x0021, - RECORD = 0x0022, - FRYING_PAN = 0x0023, - DICTIONARY = 0x0024, - MYSTERY_NOTE = 0x0025, - SUSPICIOUS_NOTE = 0x0026, // unused - CRYSTAL_BALL = 0x0027, - SCREWDRIVER = 0x0028, // unused - COOKBOOK = 0x0029, - JADE_RAVEN = 0x002A, - MAGICAL_SEED1 = 0x002B, - MAGICAL_SEED2 = 0x002C, - MAGICAL_SEED3 = 0x002D, - MAGICAL_SEED4 = 0x002E, - TOAD_DOLL = 0x002F, // unused - CALCULATOR = 0x0030, - BUCKET = 0x0031, - SCARF = 0x0032, - RED_KEY = 0x0033, - BLUE_KEY = 0x0034, - LETTER01 = 0x0036, - LETTER02 = 0x0037, - LETTER03 = 0x0038, - LETTER04 = 0x0039, - LETTER05 = 0x003A, - LETTER06 = 0x003B, - LETTER07 = 0x003C, - LETTER08 = 0x003D, - LETTER09 = 0x003E, - LETTER10 = 0x0040, - LETTER11 = 0x0041, - LETTER12 = 0x0045, - LETTER13 = 0x0046, - LETTER14 = 0x0047, - LETTER15 = 0x0048, - LETTER16 = 0x0049, - LETTER17 = 0x004A, - LETTER18 = 0x004B, - LETTER19 = 0x004C, - LETTER20 = 0x004E, - LETTER21 = 0x004F, - LETTER22 = 0x0050, - LETTER23 = 0x0051, - LETTER24 = 0x0052, - ARTIFACT = 0x0053, - LETTER25 = 0x0054, - DOLLY = 0x0056, - WATER_STONE = 0x0057, - MAGICAL_BEAN = 0x0058, - FERTILE_SOIL = 0x0059, - MIRACLE_WATER = 0x005A, - VOLCANO_VASE = 0x005B, - TAPE = 0x005C, - SUGAR = 0x005D, - SALT = 0x005E, - EGG1 = 0x005F, - CREAM = 0x0060, - STRAWBERRY = 0x0061, - BUTTER = 0x0062, - CLEANSER = 0x0063, - WATER = 0x0064, - FLOUR = 0x0065, - MILK = 0x0066, - LYRICS = 0x0067, - MELODY = 0x0068, - MAILBAG = 0x0069, - CASTLE_KEY3 = 0x006A, - ODD_KEY = 0x006B, - STAR_STONE = 0x006C, - SNEAKY_PARASOL = 0x006D, - KOOPA_LEGENDS = 0x006E, - AUTOGRAPH1 = 0x006F, - EMPTY_WALLET = 0x0070, - AUTOGRAPH2 = 0x0071, - KOOPA_SHELL = 0x0072, // unused - OLD_PHOTO = 0x0073, - GLASSES = 0x0074, - PHOTOGRAPH = 0x0075, // unused - PACKAGE = 0x0076, - RED_JAR = 0x0077, - CASTLE_KEY4 = 0x0078, - WAREHOUSE_KEY = 0x0079, - PRISON_KEY1 = 0x007A, - SILVER_CREDIT = 0x007B, - GOLD_CREDIT = 0x007C, - PRISON_KEY2 = 0x007D, // unused - PRISON_KEY3 = 0x007E, // unused - PRISON_KEY4 = 0x007F, // unused - FIRE_FLOWER = 0x0080, - SNOWMAN_DOLL = 0x0081, - THUNDER_RAGE = 0x0082, - SHOOTING_STAR = 0x0083, - THUNDER_BOLT = 0x0084, - PEBBLE = 0x0085, - DUSTY_HAMMER = 0x0086, - INSECTICIDE_HERB = 0x0087, - STONE_CAP = 0x0088, - TASTY_TONIC = 0x0089, - MUSHROOM = 0x008A, - VOLT_SHROOM = 0x008B, - SUPER_SHROOM = 0x008C, - DRIED_SHROOM = 0x008D, - ULTRA_SHROOM = 0x008E, - SLEEPY_SHEEP = 0x008F, - POW_BLOCK = 0x0090, - HUSTLE_DRINK = 0x0091, - STOP_WATCH = 0x0092, - WHACKAS_BUMP = 0x0093, - APPLE = 0x0094, - LIFE_SHROOM = 0x0095, - MYSTERY = 0x0096, - REPEL_GEL = 0x0097, - FRIGHT_JAR = 0x0098, - PLEASE_COME_BACK = 0x0099, - DIZZY_DIAL = 0x009A, - SUPER_SODA = 0x009B, - LEMON = 0x009C, - LIME = 0x009D, - BLUE_BERRY = 0x009E, - RED_BERRY = 0x009F, - YELLOW_BERRY = 0x00A0, - BUBBLE_BERRY = 0x00A1, - JAMMIN_JELLY = 0x00A2, - MAPLE_SYRUP = 0x00A3, - HONEY_SYRUP = 0x00A4, - GOOMNUT = 0x00A5, - KOOPA_LEAF = 0x00A6, - DRIED_PASTA = 0x00A7, - DRIED_FRUIT = 0x00A8, - STRANGE_LEAF = 0x00A9, - CAKE_MIX = 0x00AA, - EGG2 = 0x00AB, - COCONUT = 0x00AC, - MELON = 0x00AD, - STINKY_HERB = 0x00AE, - ICED_POTATO = 0x00AF, - SPICY_SOUP = 0x00B0, - APPLE_PIE = 0x00B1, - HONEY_ULTRA = 0x00B2, - MAPLE_ULTRA = 0x00B3, - JELLY_ULTRA = 0x00B4, - KOOPASTA = 0x00B5, - FRIED_SHROOM = 0x00B6, - SHROOM_CAKE = 0x00B7, - SHROOM_STEAK = 0x00B8, - HOT_SHROOM = 0x00B9, - SWEET_SHROOM = 0x00BA, - YUMMY_MEAL = 0x00BB, - HEALTHY_JUICE = 0x00BC, - BLAND_MEAL = 0x00BD, - DELUXE_FEAST = 0x00BE, - SPECIAL_SHAKE = 0x00BF, - BIG_COOKIE = 0x00C0, - CAKE = 0x00C1, - MISTAKE = 0x00C2, - KOOPA_TEA = 0x00C3, - HONEY_SUPER = 0x00C4, - MAPLE_SUPER = 0x00C5, - JELLY_SUPER = 0x00C6, - SPAGHETTI = 0x00C7, - EGG_MISSILE = 0x00C8, - FRIED_EGG = 0x00C9, - HONEY_SHROOM = 0x00CA, - HONEY_CANDY = 0x00CB, - ELECTRO_POP = 0x00CC, - FIRE_POP = 0x00CD, - LIME_CANDY = 0x00CE, - COCO_POP = 0x00CF, - LEMON_CANDY = 0x00D0, - JELLY_POP = 0x00D1, - STRANGE_CAKE = 0x00D2, - KOOKY_COOKIE = 0x00D3, - FROZEN_FRIES = 0x00D4, - POTATO_SALAD = 0x00D5, - NUTTY_CAKE = 0x00D6, - MAPLE_SHROOM = 0x00D7, - BOILED_EGG = 0x00D8, - YOSHI_COOKIE = 0x00D9, - JELLY_SHROOM1 = 0x00DA, - JELLY_SHROOM2 = 0x00DB, - JELLY_SHROOM3 = 0x00DC, - JELLY_SHROOM4 = 0x00DD, - JELLY_SHROOM5 = 0x00DE, - JELLY_SHROOM6 = 0x00DF, - SPIN_SMASH = 0x00E0, - MULTIBOUNCE = 0x00E1, - POWER_PLUS_A = 0x00E2, - DODGE_MASTER = 0x00E3, - POWER_BOUNCE = 0x00E4, - SPIKE_SHIELD = 0x00E5, - FIRST_ATTACK = 0x00E6, - HP_PLUS_A = 0x00E7, - QUAKE_HAMMER = 0x00E8, - DOUBLE_DIP = 0x00E9, - MYSTERY_SCROLL = 0x00EA, // unused - SLEEP_STOMP = 0x00EB, - FIRE_SHIELD = 0x00EC, - QUICK_CHANGE = 0x00ED, - D_DOWN_POUND = 0x00EE, - DIZZY_STOMP = 0x00EF, - SMASH_CHARGE0 = 0x00F0, // unused - PRETTY_LUCKY = 0x00F1, - FEELING_FINE = 0x00F2, - ATTACK_FX_A = 0x00F3, - ALLOR_NOTHING = 0x00F4, - HP_DRAIN = 0x00F5, - JUMP_CHARGE0 = 0x00F6, // unused - SLOW_GO = 0x00F7, - FP_PLUS_A = 0x00F8, - MEGA_RUSH = 0x00F9, - ICE_POWER = 0x00FA, - DEFEND_PLUS_A = 0x00FB, - PAY_OFF = 0x00FC, - MONEY_MONEY = 0x00FD, - CHILL_OUT = 0x00FE, - HAPPY_HEART_A = 0x00FF, - ZAP_TAP = 0x0100, - BERSERKER = 0x0101, // unused - RIGHT_ON = 0x0102, // unused - RUNAWAY_PAY = 0x0103, - REFUND = 0x0104, - FLOWER_SAVER_A = 0x0105, - TRIPLE_DIP = 0x0106, - HAMMER_THROW = 0x0107, - MEGA_QUAKE = 0x0108, - SMASH_CHARGE = 0x0109, - JUMP_CHARGE = 0x010A, - S_SMASH_CHG = 0x010B, - S_JUMP_CHG = 0x010C, - POWER_RUSH = 0x010D, - AUTO_JUMP = 0x010E, // unused - AUTO_SMASH = 0x010F, // unused - CRAZY_HEART = 0x0110, // unused - LAST_STAND = 0x0111, - CLOSE_CALL = 0x0112, - P_UP_D_DOWN = 0x0113, - LUCKY_DAY = 0x0114, - MEGA_HP_DRAIN = 0x0115, // unused - P_DOWN_D_UP = 0x0116, - POWER_QUAKE = 0x0117, - AUTO_MULTIBOUNCE = 0x0118, // unused - FLOWER_FANATIC = 0x0119, // unused - HEART_FINDER = 0x011A, - FLOWER_FINDER = 0x011B, - SPIN_ATTACK = 0x011C, - DIZZY_ATTACK = 0x011D, - I_SPY = 0x011E, - SPEEDY_SPIN = 0x011F, - BUMP_ATTACK = 0x0120, - POWER_JUMP = 0x0121, - SUPER_JUMP = 0x0122, // unused - MEGA_JUMP = 0x0123, - POWER_SMASH1 = 0x0124, - SUPER_SMASH = 0x0125, // unused - MEGA_SMASH = 0x0126, - POWER_SMASH2 = 0x0127, - POWER_SMASH3 = 0x0128, - DEEP_FOCUS1 = 0x0129, - SUPER_FOCUS = 0x012A, // unused - SHRINK_SMASH = 0x012B, - SHELL_CRACK = 0x012C, // unused - KAIDEN = 0x012D, // unused - D_DOWN_JUMP = 0x012E, - SHRINK_STOMP = 0x012F, - DAMAGE_DODGE_A = 0x0130, - EARTHQUAKE_JUMP = 0x0131, - DEEP_FOCUS2 = 0x0132, - DEEP_FOCUS3 = 0x0133, - HP_PLUS_B = 0x0134, - FP_PLUS_B = 0x0135, - HAPPY_HEART_B = 0x0136, - HAPPY_HEART_X = 0x0137, - FLOWER_SAVER_B = 0x0138, - FLOWER_SAVER_X = 0x0139, - DAMAGE_DODGE_B = 0x013A, - DAMAGE_DODGE_X = 0x013B, - POWER_PLUS_B = 0x013C, - POWER_PLUS_X = 0x013D, - DEFEND_PLUS_X = 0x013E, - DEFEND_PLUS_Y = 0x013F, - HAPPY_FLOWER_A = 0x0140, - HAPPY_FLOWER_B = 0x0141, - HAPPY_FLOWER_X = 0x0142, - GROUP_FOCUS = 0x0143, - PEEKABOO = 0x0144, - ATTACK_FX_D = 0x0145, - ATTACK_FX_B = 0x0146, - ATTACK_FX_E = 0x0147, - ATTACK_FX_C = 0x0148, - ATTACK_FX_F = 0x0149, - HP_PLUS_C = 0x014A, - HP_PLUS_X = 0x014B, - HP_PLUS_Y = 0x014C, - FP_PLUS_C = 0x014D, - FP_PLUS_X = 0x014E, - FP_PLUS_Y = 0x014F, - HEALTHY_HEALTHY = 0x0150, - ATTACK_FX_F2 = 0x0151, - ATTACK_FX_F3 = 0x0152, - ATTACK_FX_F4 = 0x0153, - ATTACK_FX_F5 = 0x0154, - PARTNER_ATTACK = 0x0155, // placeholder with partner attack icon - HEART = 0x0156, - COIN = 0x0157, - HEART_PIECE = 0x0158, // unused, NOT functional - STAR_POINT = 0x0159, // unused, functional, makes coin sound - FULL_HEAL = 0x015A, // unused, functional, item inside healing block - FLOWER = 0x015B, - STAR_PIECE = 0x015C, - PRESENT = 0x015D, - COMPLETE_CAKE = 0x015E, - BARE_CAKE = 0x015F, - EMPTY_CAKE_PAN = 0x0160, - FULL_CAKE_PAN = 0x0161, - EMPTY_MIXING_BOWL = 0x0162, - FULL_MIXING_BOWL = 0x0163, - CAKE_WITH_ICING = 0x0164, - CAKE_WITH_BERRIES = 0x0165, - HAMMER1_ICON = 0x0166, - HAMMER2_ICON = 0x0167, - HAMMER3_ICON = 0x0168, - BOOTS1_ICON = 0x0169, - BOOTS2_ICON = 0x016A, - BOOTS3_ICON = 0x016B, - ITEMS_ICON = 0x016C -} eItem; - -#endif diff --git a/src/code_fa4c0_len_3bf0.c b/src/code_fa4c0_len_3bf0.c index 4eaec6d58e..f66a4cbda5 100644 --- a/src/code_fa4c0_len_3bf0.c +++ b/src/code_fa4c0_len_3bf0.c @@ -114,7 +114,7 @@ s32 AddKeyItem(script_context* script, s32 initialCall) { s32 itemID = get_variable(script, value); s32 i; - if (itemID == FORTRESS_KEY) { + if (itemID == ITEM_FORTRESS_KEY) { playerData->fortressKeyCount++; return 2; } diff --git a/tools/starrod_enums_to_h.py b/tools/starrod_enums_to_h.py new file mode 100755 index 0000000000..85bd38195d --- /dev/null +++ b/tools/starrod_enums_to_h.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 + +import os +import re +from glob import glob +from stringcase import constcase # pip install stringcase + +DIR = os.path.dirname(__file__) +SR_DATABASE = os.path.join(DIR, "star-rod/database") +FILES = ( + glob(os.path.join(SR_DATABASE, "types/*.enum")) + + glob(os.path.join(SR_DATABASE, "types/**/*.enum")) + + glob(os.path.join(SR_DATABASE, "types/*.flags")) + + glob(os.path.join(SR_DATABASE, "types/**/*.flags")) +) + +with open(os.path.join(DIR, "../include/enums.h"), "w") as h: + h.write("""#ifndef _ENUMS_H_ +#define _ENUMS_H_ + +#include "ultra64.h" +#include "types.h" + +""") + + for filename in FILES: + with open(filename, "r") as file: + lines = file.readlines() + + # Get enum attributes + namespace = constcase(re.match(r"[^ \t]*", lines[0]).group(0)) + library_name = re.match(r"[^ \t]*", lines[1]).group(0) + reverse = True if re.match(r"[^ \t]*", lines[2]).group(0) == "true" else False + + # Get a list of tuples containing (name, value) + items = [] + name_max_len = 0 + comment = False + for line in lines[4:]: + line = line.rstrip("\n") + if not comment and not line.startswith("%") and "=" in line: + m = re.match(r"[ \t]*?([^ \t]*)[ \t]*=[ \t]*([^ \t]*)", line) + if m: + if reverse: + name = m.group(1) + value = int(m.group(2), 16) + else: + name = m.group(2) + value = int(m.group(1), 16) + if value < 0: + str_value = f"{value}" + else: + str_value = "0x" + f"{value:08x}".upper() + + name = constcase(name) + items.append((name, str_value)) + name_max_len = max(len(name), name_max_len) + elif "/%" in line: + comment = True + elif "%/" in line: + comment = False + + # Write a section to the header file for this enum + h.write(f"typedef UNK_TYPE {namespace};\n") + for (name, value) in items: + h.write(f"#define {namespace}_{name.ljust(name_max_len)} {value}\n") + h.write("\n") + + h.write("#endif\n") \ No newline at end of file diff --git a/tools/starrod_to_c.py b/tools/starrod_to_c.py deleted file mode 100644 index c24a48962e..0000000000 --- a/tools/starrod_to_c.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python3 - -import os -import re -import stringcase - - -files = [filename for filename in os.listdir("./sr_enums") if filename.endswith(".enum")] -for filename in files: - with open(f"./sr_enums/{filename}", "r") as file: - lines = file.readlines() - - # Get enum attributes - namespace = re.match(r"[^ \t]*", lines[0]).group(0) - library_name = re.match(r"[^ \t]*", lines[1]).group(0) - reverse = True if re.match(r"[^ \t]*", lines[2]).group(0) == "true" else False - - # Get a list of tuples containing (name, value) - items = [] - comment = False - for line in lines[4:]: - line = line.rstrip("\n") - if not comment and not line.startswith("%") and "=" in line: - m = re.match(r"[ \t]*?([^ \t]*)[ \t]*=[ \t]*([^ \t]*)", line) - if m: - if reverse: - name = m.group(1) - value = int(m.group(2), 16) - else: - name = m.group(2) - value = int(m.group(1), 16) - if value < 0: - str_value = "-0x" + f"{value*-1:08x}".upper() - else: - str_value = "0x" + f"{value:08x}".upper() - items.append((name, str_value)) - elif "/%" in line: - comment = True - elif "%/" in line: - comment = False - - # Create a header file for this enum - with open(f"./c_enums/{namespace}.h", "w") as file: - header = f"_{stringcase.constcase(namespace)}_" - file.write(f"#ifndef {header}\n#define {header}\n") - file.write("\n") - file.write("#include \"ultra64.h\"\n#include \"types.h\"\n") - file.write("\n") - file.write(f"typedef enum {namespace} {'{'}\n") - for i,(name,value) in enumerate(items): - name_const = stringcase.constcase(name) - if i < len(items) - 1: - file.write(f"\t{name_const} = {value},\n") - else: - file.write(f"\t{name_const} = {value}\n") - file.write(f"{'}'} {namespace};\n\n") - file.write("#endif") - - - \ No newline at end of file