summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2020-07-07 16:48:16 -0700
committertheo3 <arisstephenson2@gmail.com>2020-07-07 16:48:16 -0700
commitd49be370d4e156d430aa405d2d0f176dfc5f780a (patch)
tree499831ef20e508f189fcf9ed2f64841208b97ebf
parentf9e9fe0141a39997ae85a9b45b6b1b0151fec5b5 (diff)
header clean up
-rw-r--r--include/entity.h19
-rw-r--r--include/functions.h11
-rw-r--r--include/link.h4
-rw-r--r--include/npc.h9
-rw-r--r--include/room.h3
-rw-r--r--include/sprite.h8
-rw-r--r--linker.ld2
-rw-r--r--src/archway.c2
-rw-r--r--src/area.c (renamed from src/bitGetters.c)0
-rw-r--r--src/bell.c4
-rw-r--r--src/bigGoron.c2
-rw-r--r--src/bladeBrothers.c1
-rw-r--r--src/bombPeahat.c1
-rw-r--r--src/chestSpawner.c4
-rw-r--r--src/cloud.c3
-rw-r--r--src/cow.c2
-rw-r--r--src/createEnemy.c4
-rw-r--r--src/createEntity.c1
-rw-r--r--src/dampe.c122
-rw-r--r--src/hangingSeed.c1
-rw-r--r--src/heartContainer.c2
-rw-r--r--src/keese.c3
-rw-r--r--src/lakituCloud.c7
-rw-r--r--src/mailbox.c9
-rw-r--r--src/mask.c2
-rw-r--r--src/milkCart.c5
-rw-r--r--src/miniFireballGuy.c2
-rw-r--r--src/object1A.c1
-rw-r--r--src/octorok.c2
-rw-r--r--src/rem.c1
-rw-r--r--src/simon.c1
-rw-r--r--src/slime.c3
-rw-r--r--src/smallPesto.c1
-rw-r--r--src/stamp.c24
-rw-r--r--src/syrup.c4
-rw-r--r--src/talon.c4
-rw-r--r--src/textbox.c2
-rw-r--r--src/well.c3
-rw-r--r--src/windTribespeople.c9
-rw-r--r--src/zelda.c5
40 files changed, 110 insertions, 183 deletions
diff --git a/include/entity.h b/include/entity.h
index c912c917..a1dc11dd 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -153,6 +153,23 @@ typedef struct Entity {
} Entity;
-#define COORD_TO_TILE(entity) ((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | (((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
+#define COORD_TO_TILE(entity) \
+ ((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
+ (((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
+
+extern void InitializeAnimation(Entity*, u32);
+extern void InitAnimationForceUpdate(Entity*, u32);
+extern void UpdateAnimationSingleFrame(Entity*);
+extern void UpdateSpriteOrderAndFlip(Entity*);
+extern void GetNextFrame(Entity*);
+extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
+extern void SetExtraSpriteFrame(Entity*, u32, u32);
+extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
+
+extern Entity* CreateEnemy(u32 subtype, u32 form);
+extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter);
+extern Entity* CreateNPC(u32 subtype, u32 form, u32 parameter);
+extern Entity* CreateObjectWithParent(Entity* parent, u32 subtype, u32 form, u32 parameter);
+extern Entity* CreateFx(Entity* parent, u32 form, u32 parameter);
#endif
diff --git a/include/functions.h b/include/functions.h
index 454b8480..c715694d 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -9,28 +9,19 @@
// Identified - to be sorted into header files
extern u32 Random(void);
extern void PlaySFX(u32);
-extern void UpdateSpriteOrderAndFlip(Entity*);
-extern void InitAnimationForceUpdate(Entity*, u32);
extern void ShowNPCDialogue(Entity*, u32*);
extern u32 UpdateFuseInteraction();
-extern void InitializeAnimation(Entity*, u32);
extern void DeleteEntity(Entity*);
extern u32 __modsi3(u32, u32);
extern void DoFade(u32, u32);
-extern void UpdateAnimationSingleFrame(Entity*);
extern u32 GetInventoryValue(u32);
-extern Entity* CreateFx(Entity*, u32, u32);
extern u32 CheckKinstoneFused(u32);
extern void ForceEquipItem(u8, u8);
extern void LoadRoomEntityList();
-void ModHealth(s32);
void CopyPosition(Entity*, Entity*);
extern u32* StartCutscene(Entity*, u8*);
-extern void GetNextFrame(Entity*);
-extern u32 LoadExtraSpriteData(Entity*, u32*);
extern void ResolveEntityOnTop(Entity*, Entity*);
-extern void SetExtraSpriteFrame(Entity*, u32, u32);
-extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
+
// Unidentified
extern void sub_0806ED78(Entity*);
diff --git a/include/link.h b/include/link.h
index 8ec7259d..f6ce96be 100644
--- a/include/link.h
+++ b/include/link.h
@@ -76,4 +76,8 @@ extern LinkState gLinkState;
extern Stats gStats;
extern Entity gLinkEntity;
+
+extern u32 GetInventoryValue(u32);
+extern s32 ModHealth(s32);
+
#endif \ No newline at end of file
diff --git a/include/npc.h b/include/npc.h
index 32b575c9..b1a7c2b5 100644
--- a/include/npc.h
+++ b/include/npc.h
@@ -4,12 +4,6 @@
#ifndef NPC_H
#define NPC_H
-typedef struct {
- u16 palette;
- u8 animIndex;
- u8 unk;
-} SpriteLoadData;
-
extern void Gentari(Entity*);
extern void Gentari_Fusion(Entity*);
extern void Festari(Entity*);
@@ -175,4 +169,7 @@ extern void Phonograph(Entity*);
extern void NPC58(Entity*);
extern void NPC58_Head(Entity*);
+
+extern u32 UpdateFuseInteraction(Entity*);
+
#endif \ No newline at end of file
diff --git a/include/room.h b/include/room.h
index 7a55d58c..ccde88c8 100644
--- a/include/room.h
+++ b/include/room.h
@@ -60,4 +60,7 @@ typedef struct {
extern RoomControls gRoomControls;
extern RoomVars gRoomVars;
+
+extern void SetTileType(u32, u32, u32);
+
#endif \ No newline at end of file
diff --git a/include/sprite.h b/include/sprite.h
index 2132d98d..7d2507d7 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -2,6 +2,7 @@
#define SPRITE_H
#include "global.h"
+#include "entity.h"
typedef struct {
u8 index;
@@ -28,4 +29,11 @@ typedef struct {
u8 numGfxTiles;
u16 gfxTileIndex;
} FrameGfxData;
+
+typedef struct {
+ u16 palette;
+ u8 animIndex;
+ u8 unk;
+} SpriteLoadData;
+
#endif \ No newline at end of file
diff --git a/linker.ld b/linker.ld
index 9b77642b..7586253b 100644
--- a/linker.ld
+++ b/linker.ld
@@ -450,7 +450,7 @@ SECTIONS {
asm/initializeLink.o(.text);
src/sub_08052620.o(.text);
src/sub_08052638.o(.text);
- src/bitGetters.o(.text);
+ src/area.o(.text);
src/modHealth.o(.text);
src/modRupees.o(.text);
asm/code_080526F8.o(.text);
diff --git a/src/archway.c b/src/archway.c
index 4596b42c..af72be33 100644
--- a/src/archway.c
+++ b/src/archway.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "entity.h"
+#include "sprite.h"
-extern void UpdateSpriteOrderAndFlip();
extern u32 CheckIsDungeon();
void Archway(Entity *this)
diff --git a/src/bitGetters.c b/src/area.c
index 4616248c..4616248c 100644
--- a/src/bitGetters.c
+++ b/src/area.c
diff --git a/src/bell.c b/src/bell.c
index 5b21eaee..467a6977 100644
--- a/src/bell.c
+++ b/src/bell.c
@@ -1,12 +1,8 @@
#include "entity.h"
#include "global.h"
-extern void UpdateAnimationSingleFrame();
extern void (*gUnk_08123384[])(Entity*);
-extern void UpdateSpriteOrderAndFlip(Entity*);
-extern void InitAnimationForceUpdate();
-
void Bell(Entity* ent) {
gUnk_08123384[ent->action](ent);
}
diff --git a/src/bigGoron.c b/src/bigGoron.c
index 28405514..0d6b9f3f 100644
--- a/src/bigGoron.c
+++ b/src/bigGoron.c
@@ -1,10 +1,10 @@
#include "global.h"
#include "entity.h"
+#include "link.h"
extern void (*gUnk_081140D4[])(Entity*);
extern u16 gUnk_081140CC[];
-extern Entity gLinkEntity;
extern u32 gUnk_030010A0;
extern void sub_0805E3A0(Entity*, u32);
extern void sub_0806D0B0(Entity*);
diff --git a/src/bladeBrothers.c b/src/bladeBrothers.c
index 69a981f0..361eea9b 100644
--- a/src/bladeBrothers.c
+++ b/src/bladeBrothers.c
@@ -22,7 +22,6 @@ extern void (*gUnk_081115D0[])(Entity*);
extern struct_030010A0 gUnk_030010A0;
extern u16 gUnk_081115DC[];
-extern Entity gLinkEntity;
extern u8 gUnk_08111618[];
extern u32* gUnk_081115EC[];
extern struct_02002A40 gUnk_02002A40;
diff --git a/src/bombPeahat.c b/src/bombPeahat.c
index b5dda939..3921737a 100644
--- a/src/bombPeahat.c
+++ b/src/bombPeahat.c
@@ -7,7 +7,6 @@ extern s32 sub_080012DC(Entity*);
extern u32 GetNextFunction(Entity*);
extern void sub_0802AD54(Entity*);
extern void sub_0802B048(Entity*);
-extern void InitializeAnimation(Entity*, u32);
extern void sub_0806F4E8(Entity*);
extern void sub_0806F3E4(Entity*);
diff --git a/src/chestSpawner.c b/src/chestSpawner.c
index ac50a692..b3dcfb4a 100644
--- a/src/chestSpawner.c
+++ b/src/chestSpawner.c
@@ -1,11 +1,9 @@
#include "global.h"
#include "entity.h"
+#include "flags.h"
extern void sub_080842D8(Entity*);
extern void sub_08078828(Entity*);
-extern u32 CheckLocalFlag(u32);
-extern void InitializeAnimation(Entity*, u32);
-extern u32 CheckFlags(u32);
extern void sub_08083E20(Entity*);
extern void (*const gUnk_0811F7E8[])(Entity*);
diff --git a/src/cloud.c b/src/cloud.c
index 297fbbc5..6701cf13 100644
--- a/src/cloud.c
+++ b/src/cloud.c
@@ -2,18 +2,17 @@
#include "entity.h"
#include "room.h"
#include "link.h"
+#include "flags.h"
extern void sub_0809F7BC(Entity*);
extern void PlaySFX(u32);
extern void sub_0809F814(u32);
extern void sub_0809F7F4(Entity*);
-extern void SetGlobalFlag(u32);
extern void LoadRoomEntityList();
extern void DeleteThisEntity();
extern u32 CheckRoomFlag(u32);
extern void sub_08078A90(u32);
extern void sub_08078B48(void);
-extern u32 SetLocalFlag(u32);
extern u32 Random(void);
extern void sub_0806F69C(Entity*);
extern void (*gUnk_08124798[])(Entity*);
diff --git a/src/cow.c b/src/cow.c
index 9a1ebba3..7422bd28 100644
--- a/src/cow.c
+++ b/src/cow.c
@@ -4,7 +4,6 @@
extern void sub_0806ED78(Entity*);
extern void sub_0806920C(Entity*);
-extern void UpdateAnimationSingleFrame(Entity*);
extern u32 sub_0805ACC0(Entity*);
extern u32 sub_0801E99C(Entity*);
extern void sub_0806924C(Entity*);
@@ -17,7 +16,6 @@ extern void sub_080791D0();
extern void (*gUnk_08111914[])(Entity*);
extern void (*gUnk_08111928[])(Entity*);
extern u32 gUnk_08111938[];
-extern void InitAnimationForceUpdate();
extern void PlaySFX(u32);
extern u32 Random();
extern u32 UpdateFuseInteraction(Entity*);
diff --git a/src/createEnemy.c b/src/createEnemy.c
index 7dc492ff..6090da14 100644
--- a/src/createEnemy.c
+++ b/src/createEnemy.c
@@ -4,14 +4,14 @@
extern Entity* GetEmptyEntity();
extern void sub_0805EA2C(Entity*, u8);
-Entity* CreateEnemy(u32 subtype, u32 param1) {
+Entity* CreateEnemy(u32 subtype, u32 form) {
Entity* enemy;
enemy = GetEmptyEntity();
if (enemy != NULL) {
(enemy->entityType).type = 3;
(enemy->entityType).subtype = subtype;
- (enemy->entityType).form = param1;
+ (enemy->entityType).form = form;
sub_0805EA2C(enemy, 4);
}
return enemy;
diff --git a/src/createEntity.c b/src/createEntity.c
index 1119b4b7..9d597c4c 100644
--- a/src/createEntity.c
+++ b/src/createEntity.c
@@ -29,7 +29,6 @@
// sub_0804AEB0(entity,param_1);
// if ((param_1->field_0x1 & 240) != 16) {
// (entity->entityType).parameter = *(u8 *)&param_1->entityparameter;
-// /* i suspect this is where the entity's behavior is defined. Not sure. */
// entity->actionDelay = (u8)((u32)param_1->entityparameter >> 8);
// if ((type != 9) && (sub_0804AF0C(entity,param_1), entity->field_0x4 != NULL)) {
// if ((param_1->entityType & 16) == 0) {
diff --git a/src/dampe.c b/src/dampe.c
index 511acd19..983b030a 100644
--- a/src/dampe.c
+++ b/src/dampe.c
@@ -2,23 +2,19 @@
#include "entity.h"
#include "link.h"
#include "room.h"
+#include "flags.h"
+#include "sprite.h"
+#include "textbox.h"
+#include "npc.h"
extern void sub_0805E3A0(Entity*, u32);
extern void sub_0807DD50(Entity*);
extern void sub_080045C4(Entity*, Entity*);
-extern void InitAnimationForceUpdate(Entity*, u32);
extern u32 sub_0806F5A4(void);
extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
-extern void UpdateAnimationSingleFrame(Entity*);
-extern u32 UpdateFuseInteraction(Entity*);
extern u32 sub_0801E99C(void);
extern void sub_08078784(Entity*, u32);
-extern u32 CheckLocalFlag(u32);
-extern void SetLocalFlag(u32);
-extern u32 GetInventoryValue(u32);
-extern void TextboxNoOverlap(u16, Entity*);
-extern void SetTileType(u32, u32, u32);
extern u16 gUnk_08113344[];
extern u16 gUnk_0811334A[];
@@ -57,76 +53,66 @@ void Dampe(Entity* this) {
}
}
-void sub_0806BE3C(Entity *this)
-{
- this->field_0x68 = sub_0801E99C();
- sub_08078784(this, this->field_0x68);
+void sub_0806BE3C(Entity* this) {
+ this->field_0x68 = sub_0801E99C();
+ sub_08078784(this, this->field_0x68);
}
-void Dampe_Fusion(Entity *this)
-{
- if (this->action == 0) {
- this->action++;
- this->spriteSettings.b.ss0 = 1;
- InitAnimationForceUpdate(this, 2);
- }
- else {
- UpdateAnimationSingleFrame(this);
- }
+void Dampe_Fusion(Entity* this) {
+ if (this->action == 0) {
+ this->action++;
+ this->spriteSettings.b.ss0 = 1;
+ InitAnimationForceUpdate(this, 2);
+ } else {
+ UpdateAnimationSingleFrame(this);
+ }
}
-void sub_0806BE84(Entity *this, struct_0806BE84* r1)
-{
- u32 iVar3;
-
- r1->unk = 0;
- iVar3 = 1;
- if (!CheckLocalFlag(0x69)) {
- iVar3 = 0;
- SetLocalFlag(0x69);
- r1->unk = 1;
- }
- // Graveyard key
- if (2 <= GetInventoryValue(0x3C)) {
- iVar3 = 2;
- }
- TextboxNoOverlap(gUnk_08113344[iVar3], this);
+void sub_0806BE84(Entity* this, struct_0806BE84* r1) {
+ u32 msgIndex;
+
+ r1->unk = 0;
+ msgIndex = 1;
+ if (!CheckLocalFlag(0x69)) {
+ msgIndex = 0;
+ SetLocalFlag(0x69);
+ r1->unk = 1;
+ }
+ // Graveyard key
+ if (GetInventoryValue(0x3C) >= 2) {
+ msgIndex = 2;
+ }
+ TextboxNoOverlap(gUnk_08113344[msgIndex], this);
}
-void sub_0806BEC8(Entity *this, struct_0806BE84* r1)
-{
- u32 uVar1;
- u32 iVar2;
-
- iVar2 = 0;
- r1->unk = 0;
- uVar1 = GetInventoryValue(0x3C);
- if (uVar1 == 1) {
- iVar2 = 1;
- r1->unk = 1;
- }
- else {
- if (1 < uVar1) {
- iVar2 = 2;
+void sub_0806BEC8(Entity* this, struct_0806BE84* r1) {
+ u32 hasGraveyardKey;
+ u32 msgIndex;
+
+ msgIndex = 0;
+ r1->unk = 0;
+ hasGraveyardKey = GetInventoryValue(0x3C);
+ if (hasGraveyardKey == 1) {
+ msgIndex = 1;
+ r1->unk = 1;
+ } else if (hasGraveyardKey >= 2) {
+ msgIndex = 2;
}
- }
- TextboxNoOverlap(gUnk_0811334A[iVar2], this);
+ TextboxNoOverlap(gUnk_0811334A[msgIndex], this);
}
-void sub_0806BEFC(void)
-{
- SetTileType(0x17E, 0x58E, 1);
- SetTileType(0x17F, 0x58F, 1);
- SetTileType(0x180, 0x5cE, 1);
- SetTileType(0x181, 0x5cF, 1);
+void sub_0806BEFC() {
+ SetTileType(0x17E, 0x58E, 1);
+ SetTileType(0x17F, 0x58F, 1);
+ SetTileType(0x180, 0x5CE, 1);
+ SetTileType(0x181, 0x5CF, 1);
}
-void sub_0806BF44(Entity *this, struct_0806BE84 *r1)
-{
- r1->unk = 0;
- if (((this->x.HALF.HI - gRoomControls.roomScrollX) + 0x10U < 0x110) &&
- ((this->y.HALF.HI - gRoomControls.roomScrollY) + 0x18U < 0xd0)) {
- r1->unk = 1;
- }
+void sub_0806BF44(Entity* this, struct_0806BE84* r1) {
+ r1->unk = 0;
+ if (((this->x.HALF.HI - gRoomControls.roomScrollX) + 0x10U < 0x110) &&
+ ((this->y.HALF.HI - gRoomControls.roomScrollY) + 0x18U < 0xD0)) {
+ r1->unk = 1;
+ }
}
diff --git a/src/hangingSeed.c b/src/hangingSeed.c
index 35653f43..ab302f19 100644
--- a/src/hangingSeed.c
+++ b/src/hangingSeed.c
@@ -2,7 +2,6 @@
#include "entity.h"
extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
-extern void CreateFx(Entity*, u32, u32);
extern void DeleteThisEntity();
extern void (*const gUnk_080CB570[])(Entity*);
diff --git a/src/heartContainer.c b/src/heartContainer.c
index 643b87dd..04df84e9 100644
--- a/src/heartContainer.c
+++ b/src/heartContainer.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "entity.h"
+#include "flags.h"
-extern u32 CheckFlags(u32);
extern void DeleteThisEntity();
extern void sub_0808E714(Entity*);
diff --git a/src/keese.c b/src/keese.c
index a000ab80..953f5b02 100644
--- a/src/keese.c
+++ b/src/keese.c
@@ -10,13 +10,10 @@ extern u32 sub_0806F3E4(Entity*);
extern void sub_0804A7D4(Entity*);
extern void sub_0804A720(Entity*);
extern u32 Random();
-extern void UpdateSpriteOrderAndFlip(Entity*);
extern void sub_08021EF0(Entity*);
-extern void GetNextFrame(Entity*);
extern void sub_080AEFB4(Entity*);
extern void sub_08021F24(Entity*);
extern u32 sub_0806FCB8(Entity*, s32, s32, u32);
-extern void InitializeAnimation(Entity*, u32);
extern void (*gUnk_080CB69C[])(Entity*);
extern void (*gUnk_080CB6B4[])(Entity*);
diff --git a/src/lakituCloud.c b/src/lakituCloud.c
index ab3e36cc..5b5f9fff 100644
--- a/src/lakituCloud.c
+++ b/src/lakituCloud.c
@@ -1,13 +1,8 @@
#include "global.h"
#include "entity.h"
+#include "link.h"
-extern Entity gLinkEntity;
-
-extern void UpdateAnimationSingleFrame(Entity *);
-extern void InitAnimationForceUpdate(Entity *, s32);
extern u32 GetNextFunction(Entity *);
-extern void ModHealth(s32);
-extern void CreateFx(Entity *, u16, u16);
extern void (* const gUnk_080D0418[])(Entity *);
extern void (* const gUnk_080D0430[])(Entity *);
diff --git a/src/mailbox.c b/src/mailbox.c
index c744cc4e..1aca5a34 100644
--- a/src/mailbox.c
+++ b/src/mailbox.c
@@ -1,12 +1,9 @@
#include "global.h"
#include "entity.h"
+#include "textbox.h"
extern void sub_0806ED78(Entity*);
-extern void InitAnimationForceUpdate();
extern void sub_08063280();
-extern void TextboxNoOverlapFollow(u32);
-extern void UpdateAnimationSingleFrame();
-extern void CreateFx();
extern void (*gMailboxBehaviors[4])(Entity*);
@@ -34,7 +31,7 @@ void sub_08063220(Entity* this) {
}
if (this->animIndex != bVar1) {
- InitAnimationForceUpdate(this);
+ InitAnimationForceUpdate(this, bVar1);
} else {
sub_08063280(this, bVar1);
}
@@ -57,7 +54,7 @@ void sub_08063280(Entity* this, u32 unused) {
u8 var; // r2@1
e = this;
- UpdateAnimationSingleFrame();
+ UpdateAnimationSingleFrame(e);
var = e->frames.all & 0x7F;
e->frames.all ^= var;
if (var == 2) CreateFx(e, 49, 0);
diff --git a/src/mask.c b/src/mask.c
index bb867761..0d8712bb 100644
--- a/src/mask.c
+++ b/src/mask.c
@@ -16,8 +16,6 @@ extern void ClearFlag(u16);
extern void SetTile(u32, u16, u32);
-extern void CreateFx(Entity *, u16, u16);
-
extern void sub_08000148(u16, u16, u32);
extern s16 sub_080001DA(u16, u32);
extern u16 sub_080002E0(u16, u32);
diff --git a/src/milkCart.c b/src/milkCart.c
index 2c1bc52f..2e91ebf7 100644
--- a/src/milkCart.c
+++ b/src/milkCart.c
@@ -1,10 +1,7 @@
#include "global.h"
#include "entity.h"
-extern void _call_via_r1(Entity*, u32);
extern void sub_0806ED78();
-extern void InitAnimationForceUpdate();
-extern void UpdateAnimationSingleFrame();
extern void (*gMilkCartBehaviors[2])(Entity*);
@@ -16,7 +13,7 @@ void MilkCart(Entity* ent) {
void sub_08065B6C(Entity* ent) {
ent->action++;
ent->spriteSettings.b.ss0 = 1;
- (ent->y).HALF.LO += -0x8000;
+ ent->y.HALF.LO += -0x8000;
ent->animationState = 6;
InitAnimationForceUpdate(ent, 3);
}
diff --git a/src/miniFireballGuy.c b/src/miniFireballGuy.c
index bb9ea593..e8c2744a 100644
--- a/src/miniFireballGuy.c
+++ b/src/miniFireballGuy.c
@@ -5,10 +5,8 @@ extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*));
extern void sub_0804AA30(Entity*, void (*const func[][])(Entity*));
extern void sub_0804A7D4(Entity*);
extern void sub_0804A720(Entity*);
-extern void InitializeAnimation(Entity*, u32);
extern void sub_08045678(Entity*);
extern void sub_080AEFE0(void);
-extern void GetNextFrame(Entity*);
extern u32 sub_08003FC4(Entity*, u32);
extern void sub_08045678(Entity*);
diff --git a/src/object1A.c b/src/object1A.c
index 2cb9d9ff..54da11a9 100644
--- a/src/object1A.c
+++ b/src/object1A.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "entity.h"
-extern Entity* CreateObject();
extern void CopyPosition();
extern void sub_08086A6C();
extern s32 sub_080044EC();
diff --git a/src/octorok.c b/src/octorok.c
index 5c66b098..ff699ec0 100644
--- a/src/octorok.c
+++ b/src/octorok.c
@@ -9,14 +9,12 @@ extern void sub_0804A7D4();
extern void CreateDeathFx();
extern void sub_0801ECFC();
extern u32 sub_0806F520();
-extern void InitializeAnimation();
extern void sub_0806F4E8();
extern void sub_0806F3E4();
extern void InitializeAnimationAnimation();
extern void sub_0804A720();
extern u32 Random();
extern void sub_0801ED14();
-extern void GetNextFrame();
extern void(*gOctorok[2]);
extern void (*gOctorokIdle[4])(Entity*);
diff --git a/src/rem.c b/src/rem.c
index 8e3fe38f..2edd917e 100644
--- a/src/rem.c
+++ b/src/rem.c
@@ -4,7 +4,6 @@
extern void sub_0807DDAC(Entity*, u32);
extern void sub_0807DDE4(Entity*);
-extern void UpdateAnimationSingleFrame(Entity*);
extern void sub_0806ED78(Entity*);
extern void PlaySFX(u32);
extern void sub_0805E3A0(Entity*, u32);
diff --git a/src/simon.c b/src/simon.c
index 45046de5..4e01af67 100644
--- a/src/simon.c
+++ b/src/simon.c
@@ -16,7 +16,6 @@ typedef struct {
extern void DoExitTransition(void *);
extern void SetTileType(u32, u32, u32);
-extern void CreateObjectWithParent(Entity*, u32, u32, u32);
extern void DoExitTransition(void *);
extern void DoFade(u32, u32);
diff --git a/src/slime.c b/src/slime.c
index 3738038f..3f2fdd4d 100644
--- a/src/slime.c
+++ b/src/slime.c
@@ -12,15 +12,12 @@ extern void SetChildOffset(Entity*, u32, u32, u32);
extern void sub_0804AA30(Entity*, void*);
extern void sub_0804A9FC(Entity*, u32);
extern void sub_0804A720(Entity*);
-extern void InitializeAnimation(Entity*, u32);
extern void sub_08044FF8(Entity*);
extern u32 Random(void);
-extern void GetNextFrame(Entity*);
extern u32 sub_0806FA04(u32, u32);
extern u32 sub_08049FA0(Entity*);
extern u32 sub_08049EE4(Entity*);
extern u32 sub_080AEF88(void);
-extern Entity* CreateEnemy(u32, u32);
extern void (*gUnk_080D16BC[])(Entity*);
extern void (*gUnk_080D16A4[])(Entity*);
diff --git a/src/smallPesto.c b/src/smallPesto.c
index 5069510c..c29fe80c 100644
--- a/src/smallPesto.c
+++ b/src/smallPesto.c
@@ -2,7 +2,6 @@
#include "entity.h"
extern u32 GetNextFunction(Entity*);
-extern u32 GetNextFrame(Entity*);
extern u32 sub_0806F520(Entity*);
extern void sub_0806F4E8(Entity*);
extern u32 sub_0806F3E4();
diff --git a/src/stamp.c b/src/stamp.c
index 656fb838..1ee9476b 100644
--- a/src/stamp.c
+++ b/src/stamp.c
@@ -2,15 +2,11 @@
#include "entity.h"
#include "textbox.h"
-extern void InitializeAnimation(Entity*, u32);
extern void sub_08078778(Entity*);
extern void sub_0805E47C(Entity*);
-extern void GetNextFrame(Entity*);
extern void sub_0806ED78(Entity*);
-extern void TextboxNoOverlapFollow(u32);
extern void sub_0805E584();
extern void sub_0807DD64();
-extern void CreateFx();
extern void sub_08062CA4();
extern void sub_0807DDAC();
extern void sub_0807DDE4();
@@ -20,29 +16,9 @@ extern void ShowNPCDialogue();
extern void (*gStampBehaviors1[4])(Entity*);
extern void (*gStampBehaviors2[2])(Entity*);
-extern TextBox gTextBox;
extern u32 gUnk_0810C2E4;
-extern void InitializeAnimation(Entity*, u32);
-extern void sub_08078778(Entity*);
-extern void sub_0805E47C(Entity*);
-extern void GetNextFrame(Entity*);
-extern void sub_0806ED78(Entity*);
-extern void TextboxNoOverlapFollow(u32);
-extern void sub_0805E584();
-extern void sub_0807DD64();
-extern void CreateFx();
-extern void sub_08062CA4();
-extern void sub_0807DDAC();
-extern void sub_0807DDE4();
-extern u32 CheckKinstoneFused();
-extern void ShowNPCDialogue();
-extern void (*gStampBehaviors1[4])(Entity*);
-extern void (*gStampBehaviors2[2])(Entity*);
-
-extern TextBox gTextBox;
-extern u32 gUnk_0810C2E4;
void Stamp(Entity* ent) {
if ((ent->flags & 2) != 0) {
diff --git a/src/syrup.c b/src/syrup.c
index 4f0badb4..341c60c8 100644
--- a/src/syrup.c
+++ b/src/syrup.c
@@ -4,10 +4,8 @@
extern void sub_0807DD50(Entity*);
-extern Entity* LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern void sub_0806ED78(Entity*);
extern void sub_0805E3A0(Entity*, u32);
-extern void InitializeAnimation(Entity*, u32);
extern void (*gUnk_081121D4[])(Entity*);
@@ -26,7 +24,7 @@ void Syrup(Entity *this)
void sub_0806A1F8(Entity *this)
{
- Entity *iVar1;
+ u32 iVar1;
SpriteLoadData *paVar2;
(this->entityType).form == 0 ? (paVar2 = &gUnk_081121B4) : (paVar2 = &gUnk_081121C4);
diff --git a/src/talon.c b/src/talon.c
index 49b7de77..ab9d0b92 100644
--- a/src/talon.c
+++ b/src/talon.c
@@ -4,11 +4,9 @@
#include "functions.h"
#include "link.h"
-extern Entity gLinkEntity;
-
extern void (*gUnk_0810FEC4[])(Entity* this);
extern void (*gUnk_0810FEBC[])(Entity* this);
-extern u32 gUnk_0810FEB0;
+extern SpriteLoadData gUnk_0810FEB0;
extern u8 gUnk_0800B41C;
extern u8 gUnk_0810FED8[];
diff --git a/src/textbox.c b/src/textbox.c
index 1ec017d8..b8b82940 100644
--- a/src/textbox.c
+++ b/src/textbox.c
@@ -7,8 +7,6 @@ void sub_0801D630();
void ShowTextbox();
void TextboxAtPosition();
-extern TextBox gTextBox;
-extern RoomControls gRoomControls;
extern u32 gUnk_02022780;
extern u32 gUnk_02036A40;
extern u32 gUnk_02036A38;
diff --git a/src/well.c b/src/well.c
index fa387763..9efcd750 100644
--- a/src/well.c
+++ b/src/well.c
@@ -1,14 +1,13 @@
#include "global.h"
#include "entity.h"
#include "room.h"
+#include "link.h"
void SetTile(u32 tileIndex, s32 tilePosition, s32 layerIndex);
s32 GetTileType(s32 tilePosition, s32 layerIndex);
void sub_08078B48();
void DeleteThisEntity();
-extern Entity gLinkEntity;
-extern RoomControls gRoomControls;
extern void (*gUnk_08124C08[])(Entity*);
void Well(Entity* ent) {
diff --git a/src/windTribespeople.c b/src/windTribespeople.c
index 9f176c47..01d243cd 100644
--- a/src/windTribespeople.c
+++ b/src/windTribespeople.c
@@ -2,6 +2,7 @@
#include "entity.h"
#include "npc.h"
#include "textbox.h"
+#include "flags.h"
typedef struct {
u8 filler[8];
@@ -14,19 +15,13 @@ extern void sub_0806C7D4(Entity*);
extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern void sub_0807DD80(Entity*, u32*);
-extern u32 CheckGlobalFlag(u32);
-extern u32 CheckLocalFlag(u32);
-extern u32 CheckRoomFlag(u32);
extern u32 sub_0801E99C();
-extern void InitializeAnimation(Entity*, u32);
-extern u32 UpdateFuseInteraction();
extern void sub_08078784(Entity*, u32);
extern void SetExtraSpriteFrame(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
extern void sub_0807000C(Entity*);
extern void ShowNPCDialogue(Entity*, u16*);
-extern void TextboxNoOverlap(u32, Entity*);
extern void (*const gUnk_08113A7C[])(Entity*);
extern void (*const gUnk_08113A8C[])(Entity*, Entity*);
@@ -80,7 +75,7 @@ void sub_0806C834(Entity* this) {
}
void sub_0806C85C(Entity* this) {
- if (UpdateFuseInteraction() != 0) {
+ if (UpdateFuseInteraction(this) != 0) {
this->action = 1;
}
}
diff --git a/src/zelda.c b/src/zelda.c
index 10cc79cc..a11e244b 100644
--- a/src/zelda.c
+++ b/src/zelda.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "entity.h"
#include "room.h"
+#include "flags.h"
extern void sub_0805EA78(Entity*, u32);
extern void sub_0805E3A0(Entity*, u32);
@@ -10,14 +11,10 @@ extern Entity* sub_0805EB9C(u32, u32);
void CopyPosition(Entity*, Entity*);
void sub_08068680(Entity*, Entity*);
void sub_08068694(Entity*, Entity*);
-extern void SetGlobalFlag(u32);
-extern Entity* CreateNPC(u32 subtype, u32 form, u32 parameter);
u32 sub_0806EDC4(Entity* ent);
void DeleteThisEntity(void);
extern Entity* GetEntityByType(u32, u32);
extern void sub_080686C4(Entity*, Entity*);
-extern void InitAnimationForceUpdate(Entity*, u32);
-extern void UpdateAnimationSingleFrame(Entity*);
extern void sub_0806F62C(Entity*, u32, u32);
extern u32 sub_08003FC4(Entity*, u32);
extern void PlaySFX(u32);