summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2021-02-19 00:47:22 -0800
committertheo3 <arisstephenson2@gmail.com>2021-02-19 00:47:22 -0800
commitce06f7dbb70b87cc3007a3e6ee6642b3f9aeb8b3 (patch)
tree0affacd2a74cb9fc324bf2a48bb76f2da432ec77 /include
parent71ae3b07ea560601a3cddad9ab1eae7beedcf9ee (diff)
begin arm_proxy.c
Diffstat (limited to 'include')
-rw-r--r--include/audio.h243
-rw-r--r--include/entity.h16
-rw-r--r--include/functions.h2
-rw-r--r--include/main.h2
-rw-r--r--include/manager.h3
-rw-r--r--include/npc.h3
-rw-r--r--include/object.h2
-rw-r--r--include/player.h45
-rw-r--r--include/structures.h2
9 files changed, 293 insertions, 25 deletions
diff --git a/include/audio.h b/include/audio.h
new file mode 100644
index 00000000..3690de89
--- /dev/null
+++ b/include/audio.h
@@ -0,0 +1,243 @@
+
+typedef enum {
+ NONE,
+ BGM_CASTLE_TOURNAMENT,
+ BGM_VAATI_MOTIF,
+ BGM_TITLE_SCREEN,
+ BGM_CASTLE_MOTIF,
+ BGM_ELEMENT_GET,
+ BGM_FAIRY_FOUNTAIN,
+ BGM_FILE_SELECT,
+ BGM_INTRO_CUTSCENE,
+ BGM_CREDITS,
+ BGM_GAMEOVER,
+ BGM_SAVING_ZELDA,
+ BGM_LTTP_TITLE,
+ BGM_VAATI_THEME,
+ BGM_EZLO_THEME,
+ BGM_STORY,
+ BGM_FESTIVAL_APPROACH,
+ BGM_BEAT_VAATI,
+
+ BGM_BEANSTALK = 0x13,
+ BGM_HOUSE,
+ BGM_CUCCO_MINIGAME,
+ BGM_SYRUP_THEME,
+ BGM_DUNGEON,
+ BGM_ELEMENT_THEME,
+ BGM_HYRULE_FIELD,
+ BGM_HYRULE_CASTLE,
+ BGM_HYRULE_CASTLE_NOINTRO,
+ BGM_MINISH_VILLAGE,
+ BGM_MINISH_WOODS,
+ BGM_CRENEL_STORM,
+ BGM_CASTOR_WILDS,
+ BGM_HYRULE_TOWN,
+ BGM_ROYAL_VALLEY,
+ BGM_CLOUD_TOPS,
+ BGM_DARK_HYRULE_CASTLE,
+ BGM_SECRET_CASTLE_ENTRANCE,
+ BGM_DEEPWOOD_SHRINE,
+ BGM_CAVE_OF_FLAMES,
+ BGM_FORTRESS_OF_WINDS,
+ BGM_TEMPLE_OF_DROPLETS,
+ BGM_PALACE_OF_WINDS,
+ BGM_EZLO_STORY,
+ BGM_ROYAL_CRYPT,
+ BGM_ELEMENTAL_SANCTUARY,
+ BGM_FIGHT_THEME,
+ BGM_BOSS_THEME,
+ BGM_VAATI_REBORN,
+ BGM_VAATI_TRANSFIGURED,
+ BGM_CASTLE_COLLAPSE,
+ BGM_VAATI_WRATH,
+ BGM_FIGHT_THEME2,
+ BGM_DIGGING_CAVE,
+ BGM_SWIFTBLADE_DOJO,
+ BGM_MINISH_CAP,
+ BGM_MT_CRENEL,
+ BGM_PICORI_FESTIVAL,
+ BGM_LOST_WOODS,
+ BGM_FAIRY_FOUNTAIN2,
+ BGM_WIND_RUINS,
+
+ BGM_LEARN_SCROLL = 0x5E,
+ BGM_EZLO_GET,
+
+ SFX_BEEP = 0x64,
+ SFX_TEXTBOX_OPEN,
+ SFX_TEXTBOX_CLOSE,
+ SFX_TEXTBOX_NEXT,
+ SFX_TEXTBOX_SWAP,
+ SFX_TEXTBOX_CHOICE,
+ SFX_TEXTBOX_SELECT,
+ SFX_6B,
+ SFX_MENU_CANCEL,
+ SFX_MENU_ERROR,
+ SFX_RUPEE_BOUNCE,
+ SFX_RUPEE_GET,
+ SFX_HEART_BOUNCE,
+ SFX_HEART_GET,
+ SFX_SECRET,
+ SFX_SECRET_BIG,
+ SFX_METAL_CLINK,
+ SFX_PLY_VO1,
+ SFX_PLY_VO2,
+ SFX_PLY_VO3,
+ SFX_PLY_VO4,
+ SFX_PLY_VO5,
+ SFX_PLY_VO6,
+ SFX_PLY_VO7,
+ SFX_PLY_JUMP,
+ SFX_PLY_LAND,
+ SFX_7E,
+ SFX_PLY_LIFT,
+ SFX_80,
+ SFX_81,
+ SFX_82,
+ SFX_WATER_WALK,
+ SFX_WATER_SPLASH,
+ SFX_FALL_HOLE,
+ SFX_86,
+ SFX_PLY_DIE,
+ SFX_88,
+ SFX_BARREL_RELEASE,
+ SFX_BARREL_ENTER,
+ SFX_BARREL_ROLL,
+ SFX_BARREL_ROLL_STOP,
+ SFX_VO_EZLO1,
+ SFX_VO_EZLO2,
+ SFX_VO_EZLO3,
+ SFX_VO_EZLO4,
+ SFX_VO_EZLO5,
+ SFX_VO_EZLO6,
+ SFX_VO_EZLO7,
+ SFX_VO_ZELDA1,
+ SFX_VO_ZELDA2,
+ SFX_VO_ZELDA3,
+ SFX_VO_ZELDA4,
+ SFX_VO_ZELDA5,
+ SFX_VO_ZELDA6,
+ SFX_VO_ZELDA7,
+ SFX_9B,
+ SFX_9C,
+ SFX_9D,
+ SFX_9E,
+ SFX_9F,
+ SFX_A0,
+ SFX_VO_TINGLE1,
+ SFX_VO_TINGLE2,
+ SFX_VO_KING1,
+ SFX_VO_KING2,
+ SFX_VO_KING3,
+ SFX_VO_KING4,
+ SFX_VO_KING5,
+ SFX_A8,
+ SFX_A9,
+ SFX_AA,
+ SFX_SPIRITS_RELEASE,
+ SFX_AC,
+ SFX_VO_BEEDLE,
+ SFX_AE,
+ SFX_AF,
+ SFX_B0,
+ SFX_VO_MINISH1,
+ SFX_VO_MINISH2,
+ SFX_VO_MINISH3,
+ SFX_VO_MINISH4,
+
+ SFX_REM_SLEEP = 0xCC,
+ SFX_TASK_COMPLETE,
+ SFX_KEY_APPEAR,
+ SFX_CF,
+ SFX_D0,
+ SFX_VO_DOG,
+ SFX_VO_CAT,
+ SFX_VO_EPONA,
+ SFX_VO_COW,
+ SFX_VO_CUCCO_CALL,
+ SFX_VO_CHEEP,
+ SFX_ITEM_SWORD_CHARGE,
+ SFX_ITEM_SWORD_CHARGE_FINISH,
+ SFX_D9,
+ SFX_DA,
+ SFX_VO_STURGEON,
+ SFX_HAMMER1,
+ SFX_HAMMER2,
+ SFX_HAMMER3,
+ SFX_HAMMER4,
+ SFX_HAMMER5,
+ SFX_HAMMER6,
+ SFX_CUCCO_MINIGAME_BELL,
+ SFX_E3,
+ SFX_E4,
+ SFX_BUTTON_DEPRESS,
+ SFX_THUD_HEAVY,
+ SFX_WIND1,
+ SFX_WIND2,
+ SFX_WIND3,
+
+ SFX_SUMMON = 0xF4,
+ SFX_F5,
+ SFX_EVAPORATE,
+ SFX_APPARATE,
+ SFX_F8,
+ SFX_TELEPORTER,
+
+ SFX_ITEM_BOMB_EXPLODE = 0xFD,
+ SFX_HIT,
+
+ SFX_ITEM_SHIELD_BOUNCE = 0x118,
+ SFX_ITEM_GLOVES_KNOCKBACK,
+ SFX_EM_ARMOS_ON,
+
+ SFX_EM_MOBLIN_SPEAR = 0x11E,
+ SFX_LOW_HEALTH,
+ SFX_CHARGING_UP,
+ SFX_STAIRS,
+
+ SFX_BOSS_HIT = 0x127,
+ SFX_BOSS_DIE,
+ SFX_BOSS_EXPLODE,
+
+ SFX_ITEM_LANTERN_ON = 0x13D,
+ SFX_ITEM_LANTERN_OFF,
+ SFX_ITEM_SWORD_BEAM,
+ SFX_140,
+ SFX_HEART_CONTAINER_SPAWN,
+ SFX_SPARKLES,
+
+ SFX_PLY_SHRINKING = 0x16F,
+ SFX_PLY_GROW,
+
+ SFX_LAVA_TILE_STEP = 0x17B,
+ SFX_LAVA_TILE_WOBBLE,
+ SFX_LAVA_TILE_SINK,
+ SFX_LAVA_TILE_FLIP,
+ SFX_LAVA_TILE_LAND,
+
+ SFX_STAIRS_ASCEND = 0x187,
+ SFX_STAIRS_DESCEND,
+
+ SFX_ICE_BLOCK_SLIDE = 0x1B1,
+ SFX_ICE_BLOCK_STOP,
+ SFX_ICE_BLOCK_MELT,
+
+ SFX_VO_GORON1 = 0x1B7,
+ SFX_VO_GORON2,
+ SFX_VO_GORON3,
+ SFX_VO_GORON4,
+ SFX_EM_DEKUSCRUB_HIT,
+
+ SFX_ELEMENT_PLACE = 0x1CD,
+ SFX_ELEMENT_FLOAT,
+ SFX_ELEMENT_CHARGE,
+ SFX_1D0,
+ SFX_ELEMENT_INFUSE,
+
+ SFX_VO_CUCCO1 = 0x1D6,
+ SFX_VO_CUCCO2,
+ SFX_VO_CUCCO3,
+ SFX_VO_CUCCO4,
+ SFX_VO_CUCCO5,
+} Sound; \ No newline at end of file
diff --git a/include/entity.h b/include/entity.h
index ad4df8fb..d1593d1d 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -19,9 +19,23 @@ typedef struct {
} EntityType;
typedef struct {
- u8 unknown[8];
+ s8 offset_x;
+ s8 offset_y;
+ u8 unk2[4];
+ u8 width;
+ u8 height;
} BoundingBox;
+typedef struct {
+ s8 offset_x;
+ s8 offset_y;
+ u8 unknown[4];
+ u8 width;
+ u8 height;
+ u8 depth;
+ u8 unknown2[3];
+} BoundingBox3D;
+
typedef struct Entity {
/*0x00*/ struct Entity* prev;
/*0x04*/ struct Entity* next;
diff --git a/include/functions.h b/include/functions.h
index 407641c0..0a50c7d3 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -209,7 +209,7 @@ extern u32 sub_0807953C(void);
extern void sub_080AE068(Entity*);
extern u32 sub_0800445C(Entity*);
extern void sub_0807A108(void);
-extern void sub_0801766C(Entity*);
+extern u32 sub_0801766C(Entity*);
extern void sub_08004168(Entity*);
extern u32 sub_08052638(u32);
extern void InitDMA(void);
diff --git a/include/main.h b/include/main.h
index 3d60ee25..55e7b341 100644
--- a/include/main.h
+++ b/include/main.h
@@ -46,7 +46,7 @@ enum {
};
typedef struct {
- u8 interruptFlag;
+ vu8 interruptFlag;
u8 field_0x1;
u8 screen;
u8 funcIndex;
diff --git a/include/manager.h b/include/manager.h
index 7830adc4..a0d8eb1c 100644
--- a/include/manager.h
+++ b/include/manager.h
@@ -191,4 +191,7 @@ extern void sub_0805DE38(Entity*);
extern void sub_0805E0A8(Entity*);
extern void sub_0805E0FC();
+void (*const gManagerFunctions[58])();
+
+
#endif
diff --git a/include/npc.h b/include/npc.h
index c862b348..024a9a43 100644
--- a/include/npc.h
+++ b/include/npc.h
@@ -172,4 +172,7 @@ extern void NPC58_Head(Entity*);
extern u32 UpdateFuseInteraction(Entity*);
+
+void (*const gNPCFunctions[128][3])(Entity*);
+
#endif
diff --git a/include/object.h b/include/object.h
index d0bdcea8..5480a8a2 100644
--- a/include/object.h
+++ b/include/object.h
@@ -199,4 +199,6 @@ extern void ObjectBF(Entity*);
extern void EnemyItem(Entity*);
extern void ObjectC1(Entity*);
+void (*const gObjectFunctions[194])(Entity*);
+
#endif
diff --git a/include/player.h b/include/player.h
index 0e0c7356..f1f08f6f 100644
--- a/include/player.h
+++ b/include/player.h
@@ -67,7 +67,8 @@ typedef struct {
/*0x94*/ u32 field_0x94;
/*0x98*/ u16 field_0x98;
/*0x9a*/ u16 field_0x9a;
- /*0x9c*/ u32 field_0x9c[3];
+ /*0x9c*/ u32 field_0x9c;
+ /*0xa0*/ u8 field_0xa0[8];
/*0xa8*/ u8 field_0xa8;
/*0xa9*/ u8 field_0xa9;
/*0xaa*/ u8 field_0xaa;
@@ -78,26 +79,26 @@ typedef struct {
typedef struct {
- u8 walletType;
- u8 heartPieces;
- u8 health;
- u8 maxHealth;
- u8 bombCount;
- u8 arrowCount;
- u8 bombBagType;
- u8 quiverType;
- u8 filler[4];
- u8 itemOnA;
- u8 itemOnB;
- u8 filler2[10];
- u16 rupees;
- u16 field_0x1a;
- u8 field_0x1c;
- u8 field_0x1d;
- u8 field_0x1e;
- u8 field_0x1f;
- u16 field_0x20;
- u8 filler4[4];
+ /*0x00*/ u8 walletType;
+ /*0x01*/ u8 heartPieces;
+ /*0x02*/ u8 health;
+ /*0x03*/ u8 maxHealth;
+ /*0x04*/ u8 bombCount;
+ /*0x05*/ u8 arrowCount;
+ /*0x06*/ u8 bombBagType;
+ /*0x07*/ u8 quiverType;
+ /*0x08*/ u8 filler[4];
+ /*0x0c*/ u8 itemOnA;
+ /*0x0d*/ u8 itemOnB;
+ /*0x0e*/ u8 bottles[4];
+ /*0x12*/ u8 floorType;
+ /*0x13*/ u8 filler3[5];
+ /*0x18*/ u16 rupees;
+ /*0x1a*/ u16 field_0x1a;
+ /*0x1c*/ u16 field_0x1c;
+ /*0x1e*/ u16 field_0x1e;
+ /*0x20*/ u16 field_0x20;
+ /*0x22*/ u8 filler4[4];
} Stats;
typedef struct {
@@ -109,6 +110,8 @@ typedef struct {
/*0xf*/ u8 field_0xf;
} ItemBehavior;
+extern void (*const gPlayerItemFunctions[])(Entity*);
+
extern u8 gBombBagSizes[];
extern u8 gQuiverSizes[];
diff --git a/include/structures.h b/include/structures.h
index 60d1a36e..b5d29481 100644
--- a/include/structures.h
+++ b/include/structures.h
@@ -44,7 +44,7 @@ typedef struct {
extern struct_02000010 gUnk_02000010;
typedef struct {
- u32 frameCount; // regular frame count? does anything reset it?
+ s32 frameCount; // regular frame count? does anything reset it?
u8 field_0x4[0x4];
bool8 transitioningOut;
u8 transitionType; // transition when changing areas