mirror of
https://github.com/zeldaret/tmc
synced 2026-08-09 10:54:14 -04:00
begin arm_proxy.c
This commit is contained in:
+243
@@ -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;
|
||||
+15
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ enum {
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
u8 interruptFlag;
|
||||
vu8 interruptFlag;
|
||||
u8 field_0x1;
|
||||
u8 screen;
|
||||
u8 funcIndex;
|
||||
|
||||
@@ -191,4 +191,7 @@ extern void sub_0805DE38(Entity*);
|
||||
extern void sub_0805E0A8(Entity*);
|
||||
extern void sub_0805E0FC();
|
||||
|
||||
void (*const gManagerFunctions[58])();
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -172,4 +172,7 @@ extern void NPC58_Head(Entity*);
|
||||
|
||||
extern u32 UpdateFuseInteraction(Entity*);
|
||||
|
||||
|
||||
void (*const gNPCFunctions[128][3])(Entity*);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -199,4 +199,6 @@ extern void ObjectBF(Entity*);
|
||||
extern void EnemyItem(Entity*);
|
||||
extern void ObjectC1(Entity*);
|
||||
|
||||
void (*const gObjectFunctions[194])(Entity*);
|
||||
|
||||
#endif
|
||||
|
||||
+24
-21
@@ -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[];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user