diff options
| author | notyouraveragehooman <65437533+notyouraveragehooman@users.noreply.github.com> | 2020-07-15 01:40:49 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-15 01:40:49 -0700 |
| commit | 6b01f03ce6e5e7e54fa48917574b0c4cf66c5a3d (patch) | |
| tree | 5b5aa98a20542432c8e9b0ce3c42180eb8c91a9f /include | |
| parent | f89035be43b3c4dc7dcf511fd774679a8e74b140 (diff) | |
| parent | 4b1bbd23e915f9d7a532c34359d7f7369190c5f5 (diff) | |
Merge branch 'master' into master
Diffstat (limited to 'include')
| -rw-r--r-- | include/enemy.h | 5 | ||||
| -rw-r--r-- | include/functions.h | 17 | ||||
| -rw-r--r-- | include/item.h | 13 | ||||
| -rw-r--r-- | include/link.h | 56 |
4 files changed, 51 insertions, 40 deletions
diff --git a/include/enemy.h b/include/enemy.h index 95ed484a..811c5d06 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -4,8 +4,6 @@ #include "global.h" #include "entity.h" -extern u32 GetNextFunction(Entity*); - extern void Octorok(Entity*); extern void Chuchu(Entity*); extern void Leever(Entity*); @@ -109,4 +107,7 @@ extern void GyorgFemaleMouth(Entity*); extern void Enemy64(Entity*); extern void TreeItem(Entity*); extern void Enemy66(Entity*); + +extern u32 GetNextFunction(Entity*); +extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*)); #endif
\ No newline at end of file diff --git a/include/functions.h b/include/functions.h index ddab0e2a..0639181f 100644 --- a/include/functions.h +++ b/include/functions.h @@ -5,6 +5,7 @@ #include "global.h" #include "entity.h" #include "position.h" +#include "link.h" // Identified - to be sorted into header files extern u32 Random(void); @@ -23,7 +24,10 @@ extern u32* StartCutscene(Entity*, u8*); extern void ResolveEntityOnTop(Entity*, Entity*); extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); extern void SetChildOffset(Entity*, u32, u32, u32); - +extern u32 GetFacingDirection(Entity*, Entity*); +Entity* CreatePlayerItem(u32, u32, u32, u32); +extern Entity* GetEmptyEntity(void); +extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); // Unidentified extern void sub_0806ED78(Entity*); @@ -49,7 +53,6 @@ extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_0806D02C(Entity*); extern u32 sub_0806F5A4(u32); -extern u32 GetFacingDirection(Entity*, Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); @@ -68,7 +71,6 @@ extern void sub_0801D2B4(Entity*, u32); extern void sub_0806FD3C(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0807DD50(Entity*); -extern u32 GetFacingDirection(Entity*, Entity*); extern void sub_0806F118(Entity*); extern void sub_0807DD94(Entity*, u32); extern void sub_0805ED14(u32*); @@ -83,4 +85,13 @@ extern u32 sub_08049FDC(Entity*, u32); extern u32 sub_080041A0(Entity *, Entity *, u32, u32); extern u32 sub_08049EE4(Entity*); extern Entity *sub_0804A98C(Entity *, u32, u32); +void sub_08077E54(Entity*); +extern void sub_080042BA(Entity*); +extern void sub_0801D630(void*, u32); +extern void sub_08077F24(ItemBehavior*, u32); +extern void sub_08079184(); +void sub_08077F50(ItemBehavior *beh, u32 arg1); +extern void sub_0807AA80(Entity*); +extern s32 sub_0807887C(Entity*, u32, u32); +extern s32 sub_08078904(); #endif diff --git a/include/item.h b/include/item.h index 86f82876..d276b5fa 100644 --- a/include/item.h +++ b/include/item.h @@ -3,18 +3,7 @@ #include "global.h" #include "entity.h" - -typedef struct { - u8 unk; - u8 behaviorID; - u8 unk2; - u8 unk3; - u8 stateID; - u8 filler[4]; - u8 unk4; - u8 filler2[4]; - u8 unk5; -} ItemBehavior; +#include "link.h" void extern DebugItem(ItemBehavior*, u32); void extern Sword(ItemBehavior*, u32); diff --git a/include/link.h b/include/link.h index 76f4206d..d9e6b0bb 100644 --- a/include/link.h +++ b/include/link.h @@ -7,27 +7,27 @@ #include "entity.h" typedef struct { - /*0x00*/ u8 filler[2]; + /*0x00*/ u8 field_0x0[2]; /*0x02*/ u8 jumpStatus; - /*0x03*/ u8 filler2[2]; + /*0x03*/ u8 field_0x3[2]; /*0x05*/ u8 heldObject; /*0x06*/ u8 pushedObject; - /*0x07*/ u8 unk; - /*0x08*/ u16 unk2; - /*0x0a*/ u8 unk3; + /*0x07*/ u8 field_0x7; + /*0x08*/ u16 field_0x8; + /*0x0a*/ u8 field_0xa; /*0x0b*/ u8 keepFacing; /*0x0c*/ u8 linkAction; - /*0x0d*/ u8 filler3[2]; + /*0x0d*/ u8 field_0xd[2]; /*0x0f*/ u8 hurtBlinkSpeed; - /*0x10*/ u8 filler4[4]; - /*0x14*/ u16 filler5[3]; - /*0x1a*/ u8 filler6[2]; + /*0x10*/ u8 field_0x10[4]; + /*0x14*/ u16 field_0x14[3]; + /*0x1a*/ u8 field_0x1a[2]; /*0x1c*/ u8 field_0x1c; - /*0x1d*/ u8 filler9[5]; - /*0x22*/ u16 filler7[2]; + /*0x1d*/ u8 field_0x1d[5]; + /*0x22*/ u16 field_0x22[2]; /*0x26*/ u8 swimState; - /*0x27*/ u8 filler8[5]; - /*0x2c*/ u8* unk4; + /*0x27*/ u8 field_0x27[5]; + /*0x2c*/ u8* field_0x2c; /*0x30*/ union { /* */ u32 all; /* */ struct { @@ -41,19 +41,21 @@ typedef struct { /* */ u32 filler11b : 16; /* */ } PACKED b; /* */ } flags; - /*0x34*/ u8 filler12[6]; - /*0x3a*/ u16 unk5; - /*0x3c*/ u8 filler13[2]; + /*0x34*/ u8 field_0x34[6]; + /*0x3a*/ u16 field_0x3a; + /*0x3c*/ u8 field_0x3c[2]; /*0x3e*/ u8 swordGoldParticle : 1; /* */ u8 swordBlueParticle : 1; /* */ u8 filler14 : 6; - /*0x3f*/ u8 unk6; - /*0x40*/ u8 filler15[75]; - /*0x8b*/ u8 unk7; - /*0x8c*/ u32 filler16[7]; - /*0xa8*/ u8 filler17[3]; - /*0xab*/ u8 unk71; - /*0xac*/ u32 unk8; + /*0x3f*/ u8 field_0x3f; + /*0x40*/ u8 field_0x40[75]; + /*0x8b*/ u8 field_0x8b; + /*0x8c*/ u32 field_0x8c; + /*0x90*/ union SplitWord field_0x90; + /*0x94*/ u32 field_0x94[5]; + /*0xa8*/ u8 field_0xa8[3]; + /*0xab*/ u8 field_0xab; + /*0xac*/ u32 field_0xac; } LinkState; @@ -74,6 +76,14 @@ typedef struct { u8 filler3[12]; } Stats; +typedef struct { + /*0x0*/ u8 field_0x0; + /*0x1*/ u8 behaviorID; + /*0x2*/ u8 field_0x2[2]; + /*0x4*/ u8 stateID; + /*0x5*/ u8 field_0x5[10]; +} ItemBehavior; + extern u8 gBombBagSizes[]; extern LinkState gLinkState; |
