summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornotyouraveragehooman <65437533+notyouraveragehooman@users.noreply.github.com>2020-07-15 01:40:49 -0700
committerGitHub <noreply@github.com>2020-07-15 01:40:49 -0700
commit6b01f03ce6e5e7e54fa48917574b0c4cf66c5a3d (patch)
tree5b5aa98a20542432c8e9b0ce3c42180eb8c91a9f /include
parentf89035be43b3c4dc7dcf511fd774679a8e74b140 (diff)
parent4b1bbd23e915f9d7a532c34359d7f7369190c5f5 (diff)
Merge branch 'master' into master
Diffstat (limited to 'include')
-rw-r--r--include/enemy.h5
-rw-r--r--include/functions.h17
-rw-r--r--include/item.h13
-rw-r--r--include/link.h56
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;