summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arm_proxy.c5
-rw-r--r--src/code_080300AC.c7
-rw-r--r--src/code_0804AA84.c5
-rw-r--r--src/code_0805F9A0.c3
-rw-r--r--src/code_08077DF4.c3
-rw-r--r--src/code_0808091C.c3
-rw-r--r--src/createEnemy.c4
-rw-r--r--src/createNPC.c22
-rw-r--r--src/createObject.c25
-rw-r--r--src/dma.c33
-rw-r--r--src/enemy/acroBandits.c4
-rw-r--r--src/enemy/beetle.c2
-rw-r--r--src/enemy/bladeTrap.c3
-rw-r--r--src/enemy/bombPeahat.c3
-rw-r--r--src/enemy/bowMoblin.c8
-rw-r--r--src/enemy/chuchuBoss.c4
-rw-r--r--src/enemy/gyorgMale.c1
-rw-r--r--src/enemy/keaton.c8
-rw-r--r--src/enemy/keese.c7
-rw-r--r--src/enemy/lakitu.c47
-rw-r--r--src/enemy/lakituCloud.c10
-rw-r--r--src/enemy/leever.c6
-rw-r--r--src/enemy/likeLike.c1
-rw-r--r--src/enemy/miniFireballGuy.c4
-rw-r--r--src/enemy/miniSlime.c3
-rw-r--r--src/enemy/octorok.c8
-rw-r--r--src/enemy/pesto.c2
-rw-r--r--src/enemy/puffstool.c1
-rw-r--r--src/enemy/slime.c3
-rw-r--r--src/enemy/smallPesto.c15
-rw-r--r--src/enemy/spearMoblin.c1
-rw-r--r--src/enemy/tektite.c4
-rw-r--r--src/enemy/vaatiBall.c2
-rw-r--r--src/enemy/wallMaster2.c1
-rw-r--r--src/entity.c10
-rw-r--r--src/fileScreen.c26
-rw-r--r--src/game.c10
-rw-r--r--src/intro.c6
-rw-r--r--src/item.c5
-rw-r--r--src/item11.c3
-rw-r--r--src/loadRoom.c3
-rw-r--r--src/main.c7
-rw-r--r--src/manager/manager1.c3
-rw-r--r--src/manager/manager15.c2
-rw-r--r--src/manager/manager1A.c5
-rw-r--r--src/manager/manager1E.c1
-rw-r--r--src/manager/manager2.c2
-rw-r--r--src/manager/manager20.c5
-rw-r--r--src/manager/manager27.c1
-rw-r--r--src/manager/manager28.c1
-rw-r--r--src/manager/manager30.c2
-rw-r--r--src/manager/manager39.c7
-rw-r--r--src/manager/manager4.c5
-rw-r--r--src/manager/manager5.c2
-rw-r--r--src/manager/manager6.c7
-rw-r--r--src/manager/manager7.c3
-rw-r--r--src/manager/manager8.c2
-rw-r--r--src/manager/manager9.c1
-rw-r--r--src/manager/managerA.c9
-rw-r--r--src/manager/managerB.c3
-rw-r--r--src/manager/managerC.c5
-rw-r--r--src/manager/managerE.c8
-rw-r--r--src/npc/anju.c12
-rw-r--r--src/npc/bigGoron.c6
-rw-r--r--src/npc/carlov.c3
-rw-r--r--src/npc/carpenter.c12
-rw-r--r--src/npc/cow.c11
-rw-r--r--src/npc/dampe.c9
-rw-r--r--src/npc/emma.c23
-rw-r--r--src/npc/ezloCap.c1
-rw-r--r--src/npc/festari.c4
-rw-r--r--src/npc/forestMinish.c10
-rw-r--r--src/npc/gentari.c10
-rw-r--r--src/npc/guard.c18
-rw-r--r--src/npc/mailbox.c2
-rw-r--r--src/npc/malon.c2
-rw-r--r--src/npc/mayorHagen.c8
-rw-r--r--src/npc/melari.c11
-rw-r--r--src/npc/milkCart.c3
-rw-r--r--src/npc/moblinLady.c4
-rw-r--r--src/npc/mutoh.c9
-rw-r--r--src/npc/npc9.c6
-rw-r--r--src/npc/percy.c1
-rw-r--r--src/npc/postman.c12
-rw-r--r--src/npc/rem.c2
-rw-r--r--src/npc/simon.c3
-rw-r--r--src/npc/smith.c12
-rw-r--r--src/npc/stamp.c6
-rw-r--r--src/npc/syrup.c12
-rw-r--r--src/npc/teachers.c7
-rw-r--r--src/npc/townMinish.c5
-rw-r--r--src/npc/townsperson.c11
-rw-r--r--src/npc/wheaton.c6
-rw-r--r--src/npc/windTribespeople.c9
-rw-r--r--src/npc/zelda.c9
-rw-r--r--src/object/archway.c3
-rw-r--r--src/object/bell.c2
-rw-r--r--src/object/button.c7
-rw-r--r--src/object/cloud.c13
-rw-r--r--src/object/fileScreenObjects.c3
-rw-r--r--src/object/giantLeaf.c3
-rw-r--r--src/object/greatFairy.c3
-rw-r--r--src/object/heartContainer.c3
-rw-r--r--src/object/jailBars.c2
-rw-r--r--src/object/lightableSwitch.c3
-rw-r--r--src/object/mask.c22
-rw-r--r--src/object/metalDoor.c5
-rw-r--r--src/object/minecart.c1
-rw-r--r--src/object/minishSizedEntrance.c5
-rw-r--r--src/object/object1C.c1
-rw-r--r--src/object/object1D.c2
-rw-r--r--src/object/object49.c1
-rw-r--r--src/object/object7E.c2
-rw-r--r--src/object/object86.c3
-rw-r--r--src/object/object9E.c4
-rw-r--r--src/object/objectA8.c8
-rw-r--r--src/object/objectAF.c1
-rw-r--r--src/object/objectB2.c2
-rw-r--r--src/object/pinwheel.c3
-rw-r--r--src/object/pot.c2
-rw-r--r--src/object/railtrack.c3
-rw-r--r--src/object/smoke.c2
-rw-r--r--src/object/thoughtBubble.c6
-rw-r--r--src/object/treeHidingPortal.c8
-rw-r--r--src/object/well.c6
-rw-r--r--src/object/windcrest.c4
-rw-r--r--src/playerItem.c4
-rw-r--r--src/room.c15
-rw-r--r--src/screenDebug.c9
-rw-r--r--src/script.c13
-rw-r--r--src/sub_0801D754.c1
-rw-r--r--src/sub_0804AFF4.c37
-rw-r--r--src/sub_08050008.c16
-rw-r--r--src/sub_08050024.c4
-rw-r--r--src/sub_08055E08.c1
-rw-r--r--src/sub_0805E374.c6
-rw-r--r--src/sub_0806F9EC.c14
-rw-r--r--src/sub_0806FA04.c8
-rw-r--r--src/sub_0806FA24.c10
-rw-r--r--src/sub_0807B7D8.c7
-rw-r--r--src/sub_0807B820.c8
-rw-r--r--src/sub_0807B8A8.c8
-rw-r--r--src/sub_0807B930.c8
-rw-r--r--src/textbox.c21
144 files changed, 232 insertions, 752 deletions
diff --git a/src/arm_proxy.c b/src/arm_proxy.c
index e18e4a1c..d86cf0ef 100644
--- a/src/arm_proxy.c
+++ b/src/arm_proxy.c
@@ -8,6 +8,7 @@
#include "functions.h"
#include "object.h"
#include "manager.h"
+#include "dma.h"
#include "npc.h"
extern u8 gUnk_03003DE0;
@@ -263,7 +264,7 @@ void sub_080171F0(void) {
gPlayerState.field_0x1a[0] = 0;
gPlayerState.field_0x80 = 0;
gPlayerState.field_0xaa = 0;
- MemClear32(&gUnk_03003BE0, 0x8c);
+ MemClear(&gUnk_03003BE0, 0x8c);
gPlayerEntity.spriteOffsetY = gPlayerState.field_0x3f;
gPlayerState.field_0x3f = 0;
sub_0807B0C8();
@@ -403,7 +404,7 @@ void CollisionMain(void) {
}
void RegisterPlayerHitbox(void) {
- MemClear32(&gUnk_03003C70, sizeof(gUnk_03003C70));
+ MemClear(&gUnk_03003C70, sizeof(gUnk_03003C70));
gUnk_02018EA0 = (LinkedList2*)&gUnk_03003C70[0].last;
gUnk_03003C70[0].last = &gUnk_03003C70[0].last;
gUnk_03003C70[0].first = &gUnk_03003C70[0].last;
diff --git a/src/code_080300AC.c b/src/code_080300AC.c
index 12564596..5f33b435 100644
--- a/src/code_080300AC.c
+++ b/src/code_080300AC.c
@@ -1,9 +1,8 @@
#include "global.h"
#include "entity.h"
+#include "dma.h"
#include "functions.h"
-// extern void DmaZero(void*, u32);
-
typedef struct {
u16 unk0;
u16 filler2[32];
@@ -13,13 +12,13 @@ typedef struct {
extern struct_0300110C gUnk_0300110C;
void sub_080300AC(void) {
- MemClear32(&gUnk_0300110C.unk0, 0x44);
+ MemClear(&gUnk_0300110C.unk0, 0x44);
gUnk_0300110C.unk66 = 0xff;
}
void sub_080300C4(void) {
if (gScreenTransition.field_0xae == 0xff) {
gScreenTransition.field_0xac = 0;
- MemClear32(&gScreenTransition.field_0x4c[32], 0x40);
+ MemClear(&gScreenTransition.field_0x4c[32], 0x40);
}
}
diff --git a/src/code_0804AA84.c b/src/code_0804AA84.c
index 59485d74..9985952c 100644
--- a/src/code_0804AA84.c
+++ b/src/code_0804AA84.c
@@ -2,6 +2,7 @@
#include "entity.h"
#include "area.h"
#include "main.h"
+#include "dma.h"
#include "functions.h"
#include "screen.h"
@@ -10,8 +11,6 @@ typedef struct {
u32 unk;
} struct_02018EB0;
-extern void sub_0805E5A8();
-
extern void (*const gUnk_080D4120[])();
extern void (*const gUnk_080D412C[])();
@@ -37,7 +36,7 @@ void sub_0804AAB8(void) {
}
void sub_0804AAD4(void) {
- MemClear32((void*)&gUnk_02018EB0, 0x28);
+ MemClear(&gUnk_02018EB0, 0x28);
gUnk_02018EB0.unk = 0;
EraseAllEntities();
CreateObject(0x3d, gArea.field_0x17, 0);
diff --git a/src/code_0805F9A0.c b/src/code_0805F9A0.c
index 33f037ad..d1c9af64 100644
--- a/src/code_0805F9A0.c
+++ b/src/code_0805F9A0.c
@@ -1,6 +1,7 @@
#include "global.h"
-#include "functions.h"
+#include "dma.h"
#include "structures.h"
+#include "functions.h"
extern u16 gUnk_081092D4;
extern u8 gUnk_02036AD8;
diff --git a/src/code_08077DF4.c b/src/code_08077DF4.c
index 1697ecb0..4743db55 100644
--- a/src/code_08077DF4.c
+++ b/src/code_08077DF4.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "entity.h"
#include "player.h"
+#include "dma.h"
#include "functions.h"
typedef struct {
@@ -57,7 +58,7 @@ void sub_08077E78(void* arg0, u32 bits) {
not = ~not ;
gPlayerState.field_0xa &= not ;
gPlayerState.keepFacing &= not ;
- MemClear32(arg0, 0x1c);
+ MemClear(arg0, 0x1c);
}
u32 sub_08077EC8(Unk_struct* arg0) {
diff --git a/src/code_0808091C.c b/src/code_0808091C.c
index 1916869c..0ea3dbcf 100644
--- a/src/code_0808091C.c
+++ b/src/code_0808091C.c
@@ -4,16 +4,13 @@
#include "functions.h"
#include "room.h"
-extern void sub_0805E5A8();
extern void sub_08080BC4(void);
-extern RoomControls gRoomControls;
extern u32 gUnk_0200B650;
extern u32 gUnk_02025EB0;
extern u8 gUnk_02000070;
extern void DoExitTransition(ScreenTransitionData*);
-extern void sub_080809D4();
void sub_080808D8(void) {
gScreenTransition.transitionType = 0;
diff --git a/src/createEnemy.c b/src/createEnemy.c
index 5ce7af89..d2c08c81 100644
--- a/src/createEnemy.c
+++ b/src/createEnemy.c
@@ -1,8 +1,6 @@
#include "entity.h"
#include "global.h"
-
-extern Entity* GetEmptyEntity();
-extern void AppendEntityToList(Entity*, u8);
+#include "functions.h"
Entity* CreateEnemy(u32 subtype, u32 form) {
Entity* enemy;
diff --git a/src/createNPC.c b/src/createNPC.c
index b8a30fdf..6289166f 100644
--- a/src/createNPC.c
+++ b/src/createNPC.c
@@ -1,19 +1,17 @@
#include "global.h"
#include "entity.h"
-
-extern Entity* GetEmptyEntity();
-extern void AppendEntityToList(Entity*, u8);
+#include "functions.h"
Entity* CreateNPC(u32 subtype, u32 form, u32 parameter) {
- Entity* pEVar1;
+ Entity* entity;
- pEVar1 = GetEmptyEntity();
- if (pEVar1 != NULL) {
- pEVar1->kind = 7;
- pEVar1->id = subtype;
- pEVar1->type = form;
- pEVar1->type2 = parameter;
- AppendEntityToList(pEVar1, 7);
+ entity = GetEmptyEntity();
+ if (entity != NULL) {
+ entity->kind = 7;
+ entity->id = subtype;
+ entity->type = form;
+ entity->type2 = parameter;
+ AppendEntityToList(entity, 7);
}
- return pEVar1;
+ return entity;
}
diff --git a/src/createObject.c b/src/createObject.c
index 62c67062..f0a79d43 100644
--- a/src/createObject.c
+++ b/src/createObject.c
@@ -1,22 +1,21 @@
#include "global.h"
#include "entity.h"
+#include "position.h"
#include "room.h"
-
-extern Entity* GetEmptyEntity();
-extern void AppendEntityToList(Entity*, u8);
+#include "functions.h"
Entity* CreateObject(u32 subtype, u32 form, u32 parameter) {
- Entity* ent;
-
- ent = GetEmptyEntity();
- if (ent != NULL) {
- ent->kind = 6;
- ent->id = subtype;
- ent->type = form;
- ent->type2 = parameter;
- AppendEntityToList(ent, 6);
+ Entity* entity;
+
+ entity = GetEmptyEntity();
+ if (entity != NULL) {
+ entity->kind = 6;
+ entity->id = subtype;
+ entity->type = form;
+ entity->type2 = parameter;
+ AppendEntityToList(entity, 6);
}
- return ent;
+ return entity;
}
Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 form, u32 parameter) {
diff --git a/src/dma.c b/src/dma.c
index 4c79f72e..426b09dc 100644
--- a/src/dma.c
+++ b/src/dma.c
@@ -1,49 +1,46 @@
#include "global.h"
-#include "entity.h"
+#include "dma.h"
-void MemFill32(u32, u8*, u32);
-void MemFill16(u32, u8*, u32);
-
-void MemFill16(u32 value, u8* dest, u32 size) {
+void MemFill16(u32 value, void* dest, u32 size) {
DmaFill16(3, value, dest, size);
}
-void MemFill32(u32 value, u8* dest, u32 size) {
+void MemFill32(u32 value, void* dest, u32 size) {
DmaFill32(3, value, dest, size);
}
-void MemClear32(u8* src, u32 size) {
+void MemClear(void* dest, u32 size) {
u32 zero = 0;
- switch (((u32)src | size) & 3) {
+ switch (((u32)dest | size) & 3) {
case 0:
- MemFill32(0, src, size);
+ MemFill32(0, dest, size);
break;
case 2:
- MemFill16(0, src, size);
+ MemFill16(0, dest, size);
break;
default:
do {
- *src = zero;
- src++;
+ *(u8*)dest = zero;
+ dest++;
size--;
} while (size != 0);
}
}
-void MemCopy(const u8* src, u8* dst, u32 size) {
- switch (((u32)src | (u32)dst | size) & 3) {
+void MemCopy(const void* src, void* dest, u32 size) {
+ switch (((u32)src | (u32)dest | size) & 3) {
case 0:
- DmaCopy32(3, src, dst, size);
+ DmaCopy32(3, src, dest, size);
break;
case 2:
- DmaCopy16(3, src, dst, size);
+ DmaCopy16(3, src, dest, size);
break;
default:
do {
- *dst = *src;
+ *(u8*)dest = *(u8*)src;
src++;
- dst++;
+ dest++;
} while (--size);
}
}
diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c
index 3344b5b5..fff1cb50 100644
--- a/src/enemy/acroBandits.c
+++ b/src/enemy/acroBandits.c
@@ -4,7 +4,6 @@
extern u32 sub_080002D4(s32, s32, u32);
extern s32 sub_080012DC(Entity*);
-extern u32 sub_080044EC(Entity*, u32);
extern u32 sub_08031E04(Entity*);
extern void sub_08031E48(Entity*, Entity*);
extern void sub_08032290(Entity*);
@@ -12,10 +11,7 @@ extern u32 sub_080322A4(Entity*);
void sub_080322E8(Entity*);
extern void sub_08032338(Entity*);
extern Entity* sub_08049DF4(u32);
-extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*));
-extern u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern u32 GetNextFunction(Entity*);
-extern void SetChildOffset(Entity*, s32, s32, s32);
extern Entity* gUnk_020000B0;
extern u8 gEntCount;
diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c
index 6f888658..61e54b6a 100644
--- a/src/enemy/beetle.c
+++ b/src/enemy/beetle.c
@@ -5,7 +5,7 @@
extern u32 PlayerInRange(Entity*, u32, u32);
u32 sub_08021D00();
-void sub_08021D44(Entity* this, u32 param_2);
+void sub_08021D44(Entity* this, u32 direction);
extern void (*const gUnk_080CB590[])(Entity*);
extern void (*const gUnk_080CB5A8[])(Entity*);
diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c
index 95d2d8d4..9f89f8f0 100644
--- a/src/enemy/bladeTrap.c
+++ b/src/enemy/bladeTrap.c
@@ -1,10 +1,9 @@
#include "global.h"
#include "entity.h"
#include "room.h"
+#include "functions.h"
extern void sub_080A2CC0();
-extern void sub_0806F69C();
-extern void EnqueueSFX();
void BladeTrap(Entity* this) {
if (this->action == 0) {
diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c
index b8dc9575..58e1ed51 100644
--- a/src/enemy/bombPeahat.c
+++ b/src/enemy/bombPeahat.c
@@ -4,14 +4,11 @@
#include "player.h"
extern void sub_08078954(Entity*);
-extern u32 sub_0800442E(Entity*);
extern void sub_08078930(Entity*);
extern s32 sub_080012DC(Entity*);
extern u32 GetNextFunction(Entity*);
-extern void sub_0806F4E8(Entity*);
extern Entity* sub_08049DF4(u32);
extern void sub_08079BD8(Entity*);
-extern u32 GetTileTypeByEntity(Entity*);
void sub_0802AD1C(Entity*, u32);
void sub_0802AD54(Entity*);
diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c
index e29d6177..893d7618 100644
--- a/src/enemy/bowMoblin.c
+++ b/src/enemy/bowMoblin.c
@@ -1,10 +1,8 @@
#include "global.h"
#include "entity.h"
+#include "enemy.h"
+#include "functions.h"
-extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
-extern void SetChildOffset(Entity*, u32, u32, u32);
-extern void sub_0804A9FC(Entity*, u32);
-extern void sub_0804AA30(Entity*, void (*const funcs[][])(Entity*));
extern void sub_0803C5F0(Entity*);
extern void (*const gUnk_080CFF78[])(Entity*);
@@ -25,7 +23,7 @@ void sub_0803C198(Entity* this) {
if (this->field_0x43 != 0) {
sub_0804A9FC(this, 0x1c);
}
- sub_0804AA30(this, &gUnk_080CFF78);
+ sub_0804AA30(this, gUnk_080CFF78);
if ((this->bitfield & 0x80) != 0) {
sub_0803C5F0(this);
pEVar1 = this->attachedEntity;
diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c
index 674e8774..4127be53 100644
--- a/src/enemy/chuchuBoss.c
+++ b/src/enemy/chuchuBoss.c
@@ -2,8 +2,6 @@
#include "entity.h"
#include "functions.h"
-extern void sub_08078B48(void);
-
void sub_08027870(Entity*);
extern void (*const gUnk_080CC19C[])(Entity*);
@@ -36,13 +34,11 @@ void sub_08025CBC(Entity* this) {
void sub_08025DC0(Entity*);
void sub_08025CD4(Entity*);
-void sub_08001242(Entity*);
void sub_08025DD8(Entity*);
void sub_08026060(Entity*);
void sub_08026110(Entity*);
void sub_080272D4(Entity*);
void sub_0802720C(Entity*);
-void sub_0802720C(Entity*);
void sub_08026090(Entity*);
void sub_0802626C(Entity*);
void sub_08026580(Entity*);
diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c
index 330e68b8..c7d26607 100644
--- a/src/enemy/gyorgMale.c
+++ b/src/enemy/gyorgMale.c
@@ -26,7 +26,6 @@ const u8 gUnk_080D1C44[0xC];
const u16 gUnk_080D1C50[8];
const u16 gUnk_080D1C60[8];
-void GyorgMale(Entity*);
void sub_08046898(Entity*); // action 0
void sub_08046910(Entity*); // action 1
void sub_08046930(Entity*); // action 1 previousActionFlag 0
diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c
index 18b4f87e..a011fcb7 100644
--- a/src/enemy/keaton.c
+++ b/src/enemy/keaton.c
@@ -164,17 +164,17 @@ void sub_08032650(Entity* this) {
sub_0803269C(this, this->direction);
}
-void sub_0803269C(Entity* this, u32 param_2) {
+void sub_0803269C(Entity* this, u32 direction) {
u32 uVar1;
- if (((param_2 - 3) & 7) < 3) {
- uVar1 = DirectionToAnimationState(param_2);
+ if (((direction - 3) & 7) < 3) {
+ uVar1 = DirectionToAnimationState(direction);
if (((this->animationState - uVar1) & 3) > 1) {
this->animationState = uVar1;
InitAnimationForceUpdate(this, (this->animIndex & 0xFC) + uVar1);
}
} else {
- uVar1 = DirectionToAnimationState(param_2);
+ uVar1 = DirectionToAnimationState(direction);
if (uVar1 != this->animationState) {
this->animationState = uVar1;
InitAnimationForceUpdate(this, (this->animIndex & 0xFC) + uVar1);
diff --git a/src/enemy/keese.c b/src/enemy/keese.c
index 0462b254..2c5dc02b 100644
--- a/src/enemy/keese.c
+++ b/src/enemy/keese.c
@@ -5,16 +5,9 @@
#include "functions.h"
extern void sub_08001328(Entity*);
-extern u32 sub_0806F520(Entity*);
-extern void sub_0806F4E8(Entity*);
-extern u32 sub_0806F3E4(Entity*);
-extern void sub_0804A7D4(Entity*);
-extern void sub_0804A720(Entity*);
extern void Keese_StartFly(Entity*);
extern void sub_080AEFB4(Entity*);
extern void sub_08021F24(Entity*);
-extern u32 sub_08049FA0(Entity*);
-extern u32 sub_08049EE4(Entity*);
extern void (*const gKeeseFunctions[])(Entity*);
extern void (*const gKeeseActions[])(Entity*);
diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c
index 163ec9e1..00e220cc 100644
--- a/src/enemy/lakitu.c
+++ b/src/enemy/lakitu.c
@@ -7,51 +7,6 @@
extern void (*const LakituActionFuncs[])(Entity*);
-// Lakitu
-extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
-
-// sub_0803C784
-extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*));
-
-// sub_0803C820
-extern u32 sub_0806F520(Entity*);
-
-// sub_0803C850
-extern void sub_0806F4E8(Entity*);
-
-// Lakitu_Initialize
-extern void sub_0804A720(Entity*);
-
-// Lakitu_Cloudless
-extern u32 sub_08003FC4(Entity*, u32);
-
-// sub_0803CA4C
-extern u32 sub_080041A0(Entity*, Entity*, u32, u32);
-
-// sub_0803CAD0
-extern u32 sub_080AEFE0(Entity*);
-
-// Lakitu_SpawnLightning
-void PositionRelative(Entity*, Entity*, s32, s32);
-extern void EnqueueSFX(u32);
-
-// sub_0803CC08
-extern void DeleteEntity(Entity*);
-
-// Part of function tables
-extern void sub_08001324(Entity*);
-extern void sub_0804A7D4(Entity*);
-extern void sub_08001242(Entity*);
-
-// Used in multiple functions
-extern Entity* CreateFx(Entity*, u32, u32);
-extern Entity* sub_0804A98C(Entity* positionEntity, u8 subtype,
- u8 form); // Creates a projectile positioned at the given entity
-extern void UpdateAnimationSingleFrame(Entity*);
-extern void InitAnimationForceUpdate(Entity*, u32);
-extern u32 sub_0806FCB8(Entity*, u32, u32, u32);
-extern u32 GetFacingDirection(Entity*, Entity*);
-
// Forward references to functions in lakitu.c
extern void sub_0803CAD0(Entity*);
extern void sub_0803CBAC(Entity*);
@@ -78,8 +33,6 @@ typedef struct {
s8 y;
} PACKED OffsetCoords;
-// sub_0803CC08
-extern void DeleteEntity(Entity*);
// Variables
extern void (*const gUnk_080D0110[])(Entity*);
diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c
index 80679029..a4809991 100644
--- a/src/enemy/lakituCloud.c
+++ b/src/enemy/lakituCloud.c
@@ -1,25 +1,17 @@
#include "global.h"
#include "entity.h"
#include "player.h"
+#include "functions.h"
extern u32 GetNextFunction(Entity*);
-extern void sub_0804A7D4(Entity*);
-extern void sub_08001242(Entity*);
-
extern void (*const gUnk_080D0418[6])(Entity*);
extern void (*const gUnk_080D0430[3])(Entity*);
extern void (*const gUnk_080D043C[3])(Entity*);
-extern bool32 sub_0806F3E4(Entity*);
-extern bool32 sub_0806F520(Entity*);
-
extern void sub_0800449C(Entity*, u32);
extern void sub_0803CE14(Entity*);
extern void sub_0803CE3C(Entity*);
-extern Entity* GetCurrentRoomProperty(u8);
-extern void sub_0806F4E8(Entity*);
-extern void sub_0806F69C(Entity*);
extern void sub_08079D84(void);
extern void sub_080A2CC0(Entity*, Entity**, u16*);
diff --git a/src/enemy/leever.c b/src/enemy/leever.c
index 5ce12ee5..7e2f0774 100644
--- a/src/enemy/leever.c
+++ b/src/enemy/leever.c
@@ -3,14 +3,8 @@
#include "enemy.h"
#include "functions.h"
-extern void SetChildOffset(Entity*, s32, s32, s32);
-extern void sub_0804AA30(Entity*, void (*const func[])(Entity*));
-extern void sub_0804A7D4(Entity*);
-extern Entity* CreateDeathFx(Entity*, u32, u32);
-extern void sub_0804A720(Entity*);
extern u32 sub_080002D4(s32, s32, u32);
extern u32 sub_080002BC(s32, s32, u32);
-extern u32 sub_08049FDC(Entity*, u32);
extern Entity* gUnk_020000B0;
extern s16 gSineTable[];
diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c
index 60a7b7b7..b5596a55 100644
--- a/src/enemy/likeLike.c
+++ b/src/enemy/likeLike.c
@@ -5,7 +5,6 @@
#include "save.h"
extern bool32 sub_080544B4(u32);
-extern void sub_0807CAA0(u32, u32);
void sub_0802810C(Entity*);
void sub_080281A0(Entity*);
diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c
index d5d7b0e6..c0114ff1 100644
--- a/src/enemy/miniFireballGuy.c
+++ b/src/enemy/miniFireballGuy.c
@@ -2,10 +2,6 @@
#include "entity.h"
#include "functions.h"
-extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*));
-extern void sub_0804A7D4(Entity*);
-extern void sub_0804A720(Entity*);
-extern void sub_08045678(Entity*);
extern void sub_08045678(Entity*);
extern void (*const gUnk_080D1868[])(Entity*);
diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c
index 08c94fa7..993d7666 100644
--- a/src/enemy/miniSlime.c
+++ b/src/enemy/miniSlime.c
@@ -6,11 +6,8 @@
void sub_08045374(Entity*);
extern u32 sub_0806FA04(u32, u32);
-extern void sub_0804A720();
extern void sub_080452E4();
-extern void sub_0804AA30();
extern void ReplaceMonitoredEntity(Entity*, Entity*);
-extern void sub_0804A7D4(Entity*);
extern void (*const gUnk_080D17C0[])(Entity*);
extern void (*const gUnk_080D17D8[])(Entity*);
diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c
index d89e4e65..199742bc 100644
--- a/src/enemy/octorok.c
+++ b/src/enemy/octorok.c
@@ -2,14 +2,6 @@
#include "entity.h"
#include "functions.h"
-extern void EnemyFunctionHandler();
-extern void SetChildOffset();
-extern void sub_0804AA30();
-extern void sub_0804A7D4();
-extern u32 sub_0806F520();
-extern void sub_0806F4E8();
-extern void UpdateAnimationVariableFrames();
-extern void sub_0804A720();
extern Entity* sub_08049DF4(u32);
void Octorok_Pause();
diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c
index c3e67cc8..a22dd53b 100644
--- a/src/enemy/pesto.c
+++ b/src/enemy/pesto.c
@@ -3,10 +3,8 @@
#include "functions.h"
extern u32 sub_080002E0(u16, u32);
-extern u32 CheckIsDungeon(void);
extern void sub_0800449C(Entity*, u32);
extern u32 sub_08049F1C(Entity*, Entity*, u32);
-extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*));
extern u32 PlayerInRange(Entity*, u32, u32);
extern void sub_080AEFB4(Entity*);
extern Entity* FindNextEntityOfSameSubtype(Entity* ent, int listIndex);
diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c
index 08908191..80c98278 100644
--- a/src/enemy/puffstool.c
+++ b/src/enemy/puffstool.c
@@ -8,7 +8,6 @@ extern u16 sub_080002A8(u32, u32, u32);
extern u16 sub_080002D4(u32, u32, u32);
extern void sub_0804AA1C(Entity*);
extern Entity* sub_08049DF4(u32);
-extern void sub_0807B7D8(u32, u32, u32);
extern u8 gUnk_080B37A0[];
extern u8 gUnk_080B3E80[];
diff --git a/src/enemy/slime.c b/src/enemy/slime.c
index 13782f7a..6ef1e9fa 100644
--- a/src/enemy/slime.c
+++ b/src/enemy/slime.c
@@ -16,10 +16,7 @@ typedef struct {
void sub_08044FF8(Entity*);
void sub_08045178(Entity*, Entity*, int, int);
-extern void sub_0804A720(Entity*);
extern u32 sub_0806FA04(u32, u32);
-extern u32 sub_08049FA0(Entity*);
-extern u32 sub_08049EE4(Entity*);
extern void sub_0804A4E4(Entity*, Entity*);
extern u32 sub_080002CC(Entity*, s32, s32);
diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c
index f1b039f4..d39712ef 100644
--- a/src/enemy/smallPesto.c
+++ b/src/enemy/smallPesto.c
@@ -1,17 +1,10 @@
#include "global.h"
#include "entity.h"
+#include "position.h"
+#include "functions.h"
extern u32 GetNextFunction(Entity*);
-extern u32 sub_0806F520(Entity*);
-extern void sub_0806F4E8(Entity*);
-extern u32 sub_0806F3E4();
-extern void sub_0804A7D4(Entity*);
-extern void sub_0804A720(Entity*);
extern void sub_080317F8(Entity*);
-extern u32 sub_08049FA0(Entity*);
-extern u32 Random();
-extern u32 sub_08049EE4(Entity*);
-extern void sub_0806F69C(Entity*);
extern void (*gUnk_080CE530[])(Entity*);
extern void (*gUnk_080CE548[])(Entity*);
@@ -19,7 +12,6 @@ extern void (*gUnk_080CE554[])(Entity*);
void sub_080317B4(Entity*);
void sub_080317E0(Entity*);
-void sub_080317F8(Entity*);
void sub_08031840(Entity*);
extern Hitbox gUnk_080CE560;
@@ -61,7 +53,7 @@ void sub_080316E8(Entity* this) {
}
void sub_080316F0(Entity* this) {
- if (sub_0806F3E4()) {
+ if (sub_0806F3E4(this)) {
sub_0804A7D4(this);
}
}
@@ -101,7 +93,6 @@ void sub_08031770(Entity* this) {
this->attachedEntity = NULL;
}
}
- return;
}
void sub_080317B4(Entity* this) {
diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c
index 24009c34..c206edd2 100644
--- a/src/enemy/spearMoblin.c
+++ b/src/enemy/spearMoblin.c
@@ -3,7 +3,6 @@
#include "functions.h"
extern bool32 sub_0806FC80(Entity*, Entity*, u32);
-extern Entity* sub_080A7EE0(u32);
extern Entity* sub_08049DF4(u32);
void sub_08028604(Entity*);
diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c
index 66d2ca82..a738d82a 100644
--- a/src/enemy/tektite.c
+++ b/src/enemy/tektite.c
@@ -62,8 +62,6 @@ void sub_0802F1F0(Entity* this) {
}
}
-extern u8 gUnk_080CDEF8[];
-
void sub_0802F210(Entity* this) {
u32 temp;
u32 temp2;
@@ -106,8 +104,6 @@ void sub_0802F284(Entity* this) {
}
}
-extern u8 gUnk_080CDEF8[];
-
void sub_0802F300(Entity* this) {
s32 temp;
u32 rand;
diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c
index 02bf4e39..ded83908 100644
--- a/src/enemy/vaatiBall.c
+++ b/src/enemy/vaatiBall.c
@@ -136,8 +136,6 @@ void sub_080447E0(Entity* this) {
}
}
-extern u32 sub_080045B4();
-extern u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern void sub_08044DEC();
void sub_08044868(Entity* this) {
diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c
index a788ad58..ffe1d1e9 100644
--- a/src/enemy/wallMaster2.c
+++ b/src/enemy/wallMaster2.c
@@ -3,7 +3,6 @@
#include "area.h"
extern void sub_08001328(Entity*);
-extern u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern void DoExitTransition(u32*);
extern Entity* gUnk_020000B0;
diff --git a/src/entity.c b/src/entity.c
index cb81ae21..47acc2dc 100644
--- a/src/entity.c
+++ b/src/entity.c
@@ -54,7 +54,6 @@ void DeleteThisEntity(void) {
_call_via_r0((u32*)&_EntUpdate);
}
-void DeleteEntity(Entity*);
void DeleteManager(OtherEntity*);
typedef void (*Deleter)(void*);
@@ -122,7 +121,6 @@ void ClearAllDeletedEntities(void) {
ClearDeletedEntity(ent);
}
} while (ent++, ent < (&gPlayerEntity + 80));
- return;
}
extern u8 gEntCount;
@@ -161,7 +159,7 @@ OtherEntity* GetEmptyManager(void) {
return NULL;
}
-extern void MemClear32(void*, u32);
+extern void MemClear(void*, u32);
extern u8 gManagerCount;
void DeleteManager(OtherEntity* ent) {
@@ -170,7 +168,7 @@ void DeleteManager(OtherEntity* ent) {
sub_0805E92C(ent);
UnlinkEntity(ent);
- MemClear32(ent, sizeof(OtherEntity));
+ MemClear(ent, sizeof(OtherEntity));
gManagerCount--;
}
@@ -290,7 +288,7 @@ bool32 DoesSimilarEntityExist(Entity* ent) {
return FALSE;
}
-Entity* FindEntityInListBySubtype(int type, int subtype, int listIndex) {
+Entity* FindEntityInListBySubtype(u32 type, u32 subtype, u32 listIndex) {
Entity* it;
LinkedList* list;
@@ -302,7 +300,7 @@ Entity* FindEntityInListBySubtype(int type, int subtype, int listIndex) {
return NULL;
}
-Entity* FindEntityInListByForm(int type, int subtype, int listIndex, int form, int parameter) {
+Entity* FindEntityInListByForm(u32 type, u32 subtype, u32 listIndex, u32 form, u32 parameter) {
Entity* i;
LinkedList* list;
diff --git a/src/fileScreen.c b/src/fileScreen.c
index 58fe323f..1862bdb6 100644
--- a/src/fileScreen.c
+++ b/src/fileScreen.c
@@ -1,4 +1,5 @@
#include "fileScreen.h"
+#include "dma.h"
// copy, erase, start
#define NUM_FILE_OPERATIONS 3
@@ -105,7 +106,7 @@ void CreateDialogBox(u32 arg0, u32 arg1) {
void sub_08050384(void) {
sub_0801C4A0(0, 0);
- MemClear32(&gBG0Buffer, sizeof(gBG0Buffer));
+ MemClear(&gBG0Buffer, sizeof(gBG0Buffer));
gScreen.bg.bg0Updated = 1;
}
@@ -117,8 +118,8 @@ void sub_080503A8(u32 gfxGroup) {
void SetFileSelectState(FileSelectState mode) {
gUnk_02032EC0.state = mode;
- MemClear32(&gBG0Buffer, sizeof(gBG0Buffer));
- MemClear32(&gBG1Buffer, sizeof(gBG1Buffer));
+ MemClear(&gBG0Buffer, sizeof(gBG0Buffer));
+ MemClear(&gBG1Buffer, sizeof(gBG1Buffer));
}
void LoadOptionsFromSave(u32 idx) {
@@ -159,7 +160,7 @@ void HandleChooseFileScreen(void) {
gScreen.bg.bg1yOffset = 0;
gScreen.affine.bg2xOffset = 0;
gScreen.affine.bg2yOffset = 0;
- MemClear32(&gChooseFileState, sizeof(gChooseFileState));
+ MemClear(&gChooseFileState, sizeof(gChooseFileState));
}
HideButtonR();
@@ -184,17 +185,17 @@ static void HandleFileScreenEnter(void) {
sub_0801DA90(1);
sub_080A3210();
- MemClear32((void*)VRAM, 0x80); // clear palettes
+ MemClear((void*)VRAM, 0x80); // clear palettes
MessageInitialize();
EraseAllEntities();
sub_08080668();
sub_080ADD30();
sub_0801CFA8(0);
- MemClear32(&gUnk_0200AF00, sizeof(gUnk_0200AF00));
- MemClear32(&gUnk_02019EE0, sizeof(gUnk_02019EE0));
+ MemClear(&gUnk_0200AF00, sizeof(gUnk_0200AF00));
+ MemClear(&gUnk_02019EE0, sizeof(gUnk_02019EE0));
gUnk_02019EE0.unk3 = 7;
gUnk_02019EE0.unk6 = gUnk_02000000->gameLanguage > LANGUAGE_EN ? 3 : 0;
- MemClear32(&gUnk_02032EC0, sizeof(gUnk_02032EC0));
+ MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0));
gUnk_02032EC0.lastState = 8;
SetFileSelectState(STATE_NONE);
InitDMA();
@@ -284,7 +285,7 @@ void sub_0805070C(void) {
var0->unk8 = gUnk_02000D00;
for (i = 0; i < NUM_SAVE_SLOTS; i++) {
var0->unk6 = 0;
- MemClear32(var0->unk8, 0x200);
+ MemClear(var0->unk8, 0x200);
playerName = &gUnk_02019EE0.saves[i].playerName[0];
for (j = 0; j < FILENAME_LENGTH; j++) {
sub_0805F7DC(playerName[j], var0);
@@ -489,7 +490,7 @@ void sub_08050B3C(u16*);
void sub_08050AFC(u32 idx) {
SetActiveSave(idx);
- MemClear32(&gBG1Buffer, sizeof(gBG1Buffer));
+ MemClear(&gBG1Buffer, sizeof(gBG1Buffer));
if (gUnk_02019EE0.saveStatus[idx] == SAVE_VALID) {
sub_08050B3C(&gBG1Buffer.unk29C);
}
@@ -645,7 +646,7 @@ void HandleFileLanguageSelect(void) {
}
void sub_08050DB8(void) {
- MemClear32(&gBG2Buffer, sizeof(gBG2Buffer));
+ MemClear(&gBG2Buffer, sizeof(gBG2Buffer));
sub_080503A8(0xc);
gMenu.field_0x4 = gUnk_02000000->gameLanguage;
sub_080A7114(1);
@@ -980,7 +981,6 @@ u32 sub_080514BC(u32 a1) {
switch (a1) {
default:
case 0x0:
- return c - 0x33;
case 0xe:
return c - 0x33;
case 0xf:
@@ -1186,7 +1186,7 @@ void sub_0805194C(u32 save_idx) {
gUnk_02019EE0.saveStatus[save_idx] = 0;
save = &gUnk_02019EE0.saves[save_idx];
- MemClear32(save, sizeof(*save));
+ MemClear(save, sizeof(*save));
save->messageSpeed = 1;
save->brightnessPref = 1;
save->stats.health = 24;
diff --git a/src/game.c b/src/game.c
index db28c2ab..bf44ea66 100644
--- a/src/game.c
+++ b/src/game.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "screen.h"
#include "structures.h"
+#include "dma.h"
#include "functions.h"
#include "screen.h"
#include "entity.h"
@@ -12,7 +13,6 @@
#include "fileScreen.h"
extern u8 gArea;
-extern Entity gPlayerEntity;
extern u32 gUnk_03000B80;
extern u32 gUnk_03003FC0;
@@ -219,7 +219,7 @@ NONMATCH("asm/non_matching/game/sub_08052418.inc", void sub_08052418(int param_1
int i;
struct_080FCA8C temp;
- MemClear32(&gBG1Buffer, 0x800);
+ MemClear(&gBG1Buffer, 0x800);
gUnk_020227E8._0[0].WORD = 0xf;
gUnk_020227E8._0[2].WORD = 0xf;
gUnk_020227E8._0[4].WORD = 0xf;
@@ -238,12 +238,12 @@ void InitializePlayer(void) {
Entity* pl;
sub_080784C8();
- MemClear32((void*)&gUnk_03000B80, 0x70);
- MemClear32((void*)&gPlayerState, 0xb0);
+ MemClear((void*)&gUnk_03000B80, 0x70);
+ MemClear((void*)&gPlayerState, 0xb0);
MemFill32(0xffffffff, &gPlayerState.field_0x40, 0x40);
pl = &gPlayerEntity;
- MemClear32((void*)pl, 0x88);
+ MemClear((void*)pl, 0x88);
gRoomControls.cameraTarget = pl;
gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf];
if (!CheckGlobalFlag(0x14)) {
diff --git a/src/intro.c b/src/intro.c
index 9bc22124..a0eb8db7 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -2,6 +2,7 @@
#include "menu.h"
#include "main.h"
#include "entity.h"
+#include "dma.h"
#include "functions.h"
#include "readKeyInput.h"
#include "screen.h"
@@ -55,7 +56,7 @@ static const u16 sLightRaysAlphaBlends[] = {
static u32 AdvanceIntroSequence(u32 transition) {
gUnk_02032EC0.lastState = transition;
gMain.funcIndex = 2;
- MemClear32(&gIntroState, sizeof(gIntroState));
+ MemClear(&gIntroState, sizeof(gIntroState));
DoFade(7, 8);
}
@@ -64,7 +65,7 @@ void HandleIntroScreen(void) {
switch (gMain.funcIndex) {
case 0:
MessageInitialize();
- MemClear32(&gUnk_02032EC0, sizeof(gUnk_02032EC0));
+ MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0));
AdvanceIntroSequence(0);
break;
case 1:
@@ -212,7 +213,6 @@ static void UpdatePressStartIcon(void) {
gOamCmd.x = 120;
gOamCmd.y = 152;
sub_080ADA14(511, 1);
- return;
}
static void UpdateSwordBgAffineData(void) {
diff --git a/src/item.c b/src/item.c
index ad7a419b..fa23bd31 100644
--- a/src/item.c
+++ b/src/item.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "entity.h"
#include "item.h"
+#include "functions.h"
// TODO - How does this relate to PlayerItemFunctions? Is this just a lookup table?
void (*const gItemFunctions[])(ItemBehavior*, u32) = {
@@ -11,7 +12,6 @@ void (*const gItemFunctions[])(ItemBehavior*, u32) = {
};
extern void sub_08077E78(ItemBehavior*, u32);
-extern void SoundReq(u32);
extern void sub_08078F60(void);
extern void sub_08077D38(ItemBehavior*, u32);
extern void sub_0805E544(void);
@@ -28,7 +28,6 @@ extern void (*const gUnk_0811BDE0[])(ItemBehavior* beh, u32);
extern void (*const gUnk_0811BDE8[])(ItemBehavior* beh, u32);
extern void (*const gUnk_0811BDF4[])(ItemBehavior* beh, u32);
-extern u8 gUnk_02034490;
#if 0
void Ocarina(ItemBehavior* beh, u32 inputFlags) {
gOcarinaStates[beh->stateID](beh, inputFlags);
@@ -50,7 +49,7 @@ void OcarinaUse(ItemBehavior *beh, u32 arg1)
gPlayerEntity.field_0x7a = 2;
gPlayerState.flags.all |= 0x10000000;
gPlayerState.field_0x27[0] = 0xff;
- gUnk_02034490 = 1;
+ gUnk_02034490[0] = 1;
bVar1 = (8 >> arg1);
gPlayerState.field_0xa |= bVar1;
gPlayerState.keepFacing |= bVar1;
diff --git a/src/item11.c b/src/item11.c
index 5821d0b5..5365582e 100644
--- a/src/item11.c
+++ b/src/item11.c
@@ -1,11 +1,10 @@
#include "global.h"
#include "entity.h"
#include "player.h"
+#include "functions.h"
-extern void DeleteThisEntity();
extern void sub_08078CD0(Entity*);
extern void sub_08018FA0(Entity*);
-extern u32 sub_0801766C(Entity*);
extern void sub_08018F6C(Entity*);
extern void (*const gUnk_080B3DD0[])(Entity*);
diff --git a/src/loadRoom.c b/src/loadRoom.c
index 04b8e02c..e5f9e636 100644
--- a/src/loadRoom.c
+++ b/src/loadRoom.c
@@ -1,10 +1,9 @@
#include "global.h"
#include "room.h"
#include "flags.h"
+#include "functions.h"
-void LoadRoomEntityList(EntityData* dat);
extern void sub_0804B058(EntityData* dat);
-extern void LoadRoomTileEntities(EntityData* dat);
extern void sub_0801AC98();
extern u32 sub_08049D1C(u32);
extern Entity* LoadRoomEntity(EntityData*);
diff --git a/src/main.c b/src/main.c
index 71c1347b..c05d9945 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "dma.h"
#include "functions.h"
#include "structures.h"
#include "main.h"
@@ -36,7 +37,7 @@ void MainLoop(void) {
MessageInitialize();
sub_080ADD30();
gRand = 0x1234567;
- MemClear32(&gMain, sizeof(gMain));
+ MemClear(&gMain, sizeof(gMain));
InitScreen(SCREEN_INTRO);
while (1) {
ReadKeyInput();
@@ -92,7 +93,7 @@ static void sub_08055F70(void) {
*(vu16*)BG_PLTT = 0x7FFF;
REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3;
size = 0x3FFD0;
- MemClear32(gUnk_02000030, size);
+ MemClear(gUnk_02000030, size);
size = (u32)gUnk_080B2CD8 - (u32)sub_080B197C;
if (size != 0) {
MemCopy(sub_080B197C, gUnk_030056F0, size);
@@ -185,7 +186,7 @@ NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) {
b = 1;
}
if (b != 0) {
- MemClear32((u8*)&gUnk_02000010.signature, 0x20);
+ MemClear((u8*)&gUnk_02000010.signature, 0x20);
gUnk_02000010.signature = SIGNATURE;
}
}
diff --git a/src/manager/manager1.c b/src/manager/manager1.c
index 2b06a48f..45e1b000 100644
--- a/src/manager/manager1.c
+++ b/src/manager/manager1.c
@@ -1,12 +1,11 @@
#include "global.h"
#include "entity.h"
#include "screen.h"
+#include "functions.h"
-extern void LoadGfxGroup(u32);
extern void sub_08056250(void);
extern void sub_080570B8(Entity*);
void sub_080570F8(void);
-extern void sub_08052D74(void*, void*, void*);
extern void (*const gUnk_08107C5C[])(Entity*);
extern void (*const gUnk_08107C48[])(Entity*);
diff --git a/src/manager/manager15.c b/src/manager/manager15.c
index 87135c56..60ca8f5a 100644
--- a/src/manager/manager15.c
+++ b/src/manager/manager15.c
@@ -295,7 +295,6 @@ void sub_0805A758(Manager15* this) {
}
extern void sub_0805E4E0(Manager*, u32);
-extern void sub_08077B20(void);
void sub_0805A76C(Manager15* this) {
if ((gPlayerEntity.currentHealth != 0) && (gPlayerEntity.height.HALF.HI == 0) && (!gPlayerState.field_0x2c)) {
@@ -364,7 +363,6 @@ void sub_0805A804(Manager15* this) {
}
void sub_0805AAC8(Manager15*);
-extern void sub_08052D74(void*, void*, void*);
void sub_0805A89C(Manager15* this) {
sub_0805E3A0(this, 6);
diff --git a/src/manager/manager1A.c b/src/manager/manager1A.c
index 19a1dbca..fc08d6cc 100644
--- a/src/manager/manager1A.c
+++ b/src/manager/manager1A.c
@@ -4,6 +4,7 @@
#include "entity.h"
#include "room.h"
#include "screen.h"
+#include "dma.h"
#include "functions.h"
typedef struct {
@@ -29,7 +30,6 @@ void sub_0805B030(Manager1A* this) {
gUnk_08108668[this->manager.action](this);
}
-extern void sub_08052D74(void*, void*, void*);
extern u32 sub_0806FBFC(u32, u32, u32, u32);
typedef struct struct_08108764 {
@@ -65,13 +65,12 @@ u32 sub_0805B1CC(Manager1A*);
void sub_0805B210(Manager1A*);
void sub_0805B2B0(Manager1A*);
void sub_0805B328(Manager1A*);
-void sub_0805BC4C(void);
void sub_0805B048(Manager1A* this) {
struct_08108764* tmp;
Entity* obj;
sub_0805E3A0(&this->manager, 6);
- MemClear32(&this->unk_20, 0x20);
+ MemClear(&this->unk_20, 0x20);
this->manager.action = 1;
this->unk_3f = gRoomControls.roomID;
tmp = &gUnk_08108764[this->manager.unk_0a];
diff --git a/src/manager/manager1E.c b/src/manager/manager1E.c
index 363c3113..298e7860 100644
--- a/src/manager/manager1E.c
+++ b/src/manager/manager1E.c
@@ -17,7 +17,6 @@ typedef struct {
enum Manager1E_State { Init, ObserveRegion };
-void Manager1E_Handler(Manager1E*);
void Manager1E_Init(Manager1E*);
void Manager1E_ObserveRegion(Manager1E*);
diff --git a/src/manager/manager2.c b/src/manager/manager2.c
index 56c81310..b6e0eef7 100644
--- a/src/manager/manager2.c
+++ b/src/manager/manager2.c
@@ -1,9 +1,9 @@
#include "global.h"
#include "entity.h"
#include "screen.h"
+#include "functions.h"
extern void sub_080576A0();
-extern void sub_08052D74();
extern void sub_0805754C(Entity*);
void Manager2(Entity* this) {
diff --git a/src/manager/manager20.c b/src/manager/manager20.c
index b8a20f5f..f7ca8a0b 100644
--- a/src/manager/manager20.c
+++ b/src/manager/manager20.c
@@ -3,6 +3,7 @@
#include "flags.h"
#include "entity.h"
#include "room.h"
+#include "functions.h"
typedef struct {
Manager manager;
@@ -17,8 +18,6 @@ typedef struct {
u16 unk_3e;
} Manager20;
-extern void DeleteManager(Manager20*);
-
void sub_0805B7A0(Manager20* this) {
Entity* tmp = CreateObject(this->manager.unk_0e, this->manager.unk_0a, this->manager.unk_0b);
if (!tmp)
@@ -35,5 +34,5 @@ void sub_0805B7A0(Manager20* this) {
}
tmp->x.HALF.HI += gRoomControls.roomOriginX;
tmp->y.HALF.HI += gRoomControls.roomOriginY;
- DeleteManager(this);
+ DeleteManager((Manager*)this);
}
diff --git a/src/manager/manager27.c b/src/manager/manager27.c
index b2e0e15a..5ef41a57 100644
--- a/src/manager/manager27.c
+++ b/src/manager/manager27.c
@@ -4,7 +4,6 @@
#include "functions.h"
extern u32 sub_0805C920(Entity*);
-extern void LoadPaletteGroup(u32);
void sub_0805C874(Entity*);
void sub_0805C894(Entity*);
diff --git a/src/manager/manager28.c b/src/manager/manager28.c
index af59e09e..f60541e2 100644
--- a/src/manager/manager28.c
+++ b/src/manager/manager28.c
@@ -11,7 +11,6 @@ typedef struct {
} d;
} Manager28;
-void Manager28_Entry(Manager28*);
void Manager28_Init(Manager28*);
void Manager28_Main(Manager28*);
u32 Manager28_FindMatchingEntities(Manager28*);
diff --git a/src/manager/manager30.c b/src/manager/manager30.c
index 8cfde746..84101118 100644
--- a/src/manager/manager30.c
+++ b/src/manager/manager30.c
@@ -19,8 +19,6 @@ typedef struct Manager30 {
u16 flag_reset;
} Manager30;
-extern void sub_0807B7D8(u32, u32, u32);
-
enum { INIT, IN_PROGRESS, FAILED, SUCCEEDED };
/*
diff --git a/src/manager/manager39.c b/src/manager/manager39.c
index 31cbda7e..8c1c1532 100644
--- a/src/manager/manager39.c
+++ b/src/manager/manager39.c
@@ -3,6 +3,7 @@
#include "screen.h"
#include "area.h"
#include "textbox.h"
+#include "dma.h"
#include "functions.h"
typedef struct {
@@ -25,9 +26,7 @@ extern const u8 gUnk_08108E30[0x18];
extern const u8 gUnk_08108E48[0x18];
extern const u8 gUnk_08108E60[];
-extern void MemCopy(const void* src, void* dest, u32 size);
extern void sub_0805F46C(void*, const void*);
-extern u32 CheckIsDungeon(void);
extern void sub_0805E5B4(void);
void sub_0805E140(Manager39*);
@@ -68,7 +67,7 @@ void sub_0805E18C(Manager39* this) {
}
void sub_0805E1D8(Manager39* this) {
- MemClear32(&gUnk_02034DF0, 0x80);
+ MemClear(&gUnk_02034DF0, 0x80);
gScreen.bg.bg0Updated = 1;
DeleteThisEntity();
}
@@ -81,7 +80,7 @@ void sub_0805E1F8(u32 unk0, u32 unk1) {
u8 unk_06[3];
} PACKED tmp;
const u8* tmp2;
- MemClear32(&gUnk_02034DF0, 0x80);
+ MemClear(&gUnk_02034DF0, 0x80);
MemCopy(gUnk_08108E60, &tmp, sizeof(tmp));
tmp.unk_04 = unk0 >> 8;
tmp.unk_05 = unk0;
diff --git a/src/manager/manager4.c b/src/manager/manager4.c
index 2ebdf7d3..3d396682 100644
--- a/src/manager/manager4.c
+++ b/src/manager/manager4.c
@@ -3,6 +3,7 @@
#include "room.h"
#include "manager.h"
#include "structures.h"
+#include "functions.h"
extern void (*gUnk_08107C70[])(Manager*);
@@ -12,8 +13,6 @@ void sub_08057854(Manager* this) {
extern void sub_080805F8(void);
-extern void SetTile(u32, u32, u32);
-
extern DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance*, int);
void sub_0805786C(Manager* this) {
@@ -101,8 +100,6 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) {
}
#endif
-extern void sub_0805E5A8(void);
-extern void DeleteManager(Manager*);
extern void sub_08080930();
void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) {
diff --git a/src/manager/manager5.c b/src/manager/manager5.c
index ec7ee400..4681e754 100644
--- a/src/manager/manager5.c
+++ b/src/manager/manager5.c
@@ -34,8 +34,6 @@ void sub_08057AD0(Manager5* this) {
void sub_08057CA4(Manager5*, u32, u32);
-extern void DeleteManager(Manager*);
-
void sub_08057AE8(Manager5* this) {
u32 tmp;
tmp = (this->manager.unk_0b & 0x3) << 1;
diff --git a/src/manager/manager6.c b/src/manager/manager6.c
index aa5cb48a..a17fd16b 100644
--- a/src/manager/manager6.c
+++ b/src/manager/manager6.c
@@ -1,12 +1,9 @@
#include "global.h"
-#include "entity.h"
#include "player.h"
#include "manager.h"
+#include "functions.h"
-extern void* GetCurrentRoomProperty(u8);
-extern u32 CheckPlayerInRegion(u16, u16, u8, u8);
extern void DoExitTransition(void*);
-extern void DeleteManager(Entity*);
void sub_08057CB4(Manager6* this) {
u32 tmp;
@@ -15,7 +12,7 @@ void sub_08057CB4(Manager6* this) {
this->manager.action = 1;
this->warpList = GetCurrentRoomProperty(this->manager.unk_0a);
if (!this->warpList) {
- DeleteManager((Entity*)this);
+ DeleteManager((Manager*)this);
return;
}
}
diff --git a/src/manager/manager7.c b/src/manager/manager7.c
index 3a2cbb1a..089dab1b 100644
--- a/src/manager/manager7.c
+++ b/src/manager/manager7.c
@@ -12,12 +12,9 @@ typedef struct {
void sub_08057E30();
u32 sub_08057E40();
-void sub_08057E64();
void sub_08057E7C(u32);
-extern void sub_08052D74();
extern u32 sub_08056300(const u16*);
-extern void sub_0805E3A0();
extern const u8 gGlobalGfxAndPalettes[];
diff --git a/src/manager/manager8.c b/src/manager/manager8.c
index c6cd5075..aa80b627 100644
--- a/src/manager/manager8.c
+++ b/src/manager/manager8.c
@@ -17,8 +17,6 @@ void sub_08057EFC();
void sub_08058034(void);
void sub_08058084(u16*, u16*);
-extern void sub_08052D74(void*, void*, void*);
-
extern u16 gMapDataTopSpecial[];
void sub_08057ED0(Manager8* this) {
diff --git a/src/manager/manager9.c b/src/manager/manager9.c
index 70d117fb..aebc9a96 100644
--- a/src/manager/manager9.c
+++ b/src/manager/manager9.c
@@ -15,7 +15,6 @@ void sub_08058210(Manager9*);
u32 sub_08058244(int);
void sub_080582A0(u32, u32*, u8*);
void sub_080582F8(u8*, u8*);
-void sub_08058324();
extern u32 gUnk_02006F00[];
extern u8 gBG3Buffer[];
diff --git a/src/manager/managerA.c b/src/manager/managerA.c
index 3033dd21..4b4a2ce4 100644
--- a/src/manager/managerA.c
+++ b/src/manager/managerA.c
@@ -4,6 +4,7 @@
#include "manager.h"
#include "flags.h"
#include "area.h"
+#include "functions.h"
void sub_08058398(ManagerA*);
void sub_080583EC(ManagerA*);
@@ -17,8 +18,6 @@ void sub_08058380(ManagerA* this) {
gUnk_081081F4[this->manager.action](this);
}
-extern void sub_0805E3A0(Manager*, u32);
-
void sub_08058398(ManagerA* this) {
if (CheckFlags(this->unk_3c) != 0) {
@@ -36,8 +35,6 @@ void sub_08058398(ManagerA* this) {
}
}
-void sub_08058408(ManagerA*);
-
void sub_080583EC(ManagerA* this) {
if (CheckFlags(this->unk_3e) != 0) {
this->manager.action = 2;
@@ -45,12 +42,8 @@ void sub_080583EC(ManagerA* this) {
}
}
-extern u32 CheckPlayerInRegion(u32, u32, u32, u32);
extern void sub_0805E544(void);
-extern void sub_08078A90(u32);
-extern void sub_08078AA8(u32, u32);
extern void sub_080186C0(u16);
-extern void sub_08078B48(void);
u32 sub_0805848C(ManagerA*);
void sub_080585DC(ManagerA*);
diff --git a/src/manager/managerB.c b/src/manager/managerB.c
index e6e43a12..cfa48775 100644
--- a/src/manager/managerB.c
+++ b/src/manager/managerB.c
@@ -4,6 +4,7 @@
#include "entity.h"
#include "room.h"
#include "area.h"
+#include "dma.h"
#include "functions.h"
/*
@@ -128,7 +129,7 @@ ManagerBHelper* CreateHelper(Manager* this) {
extra->manager.unk_0a = 1;
extra->manager.parent = this;
this->unk_0e++;
- MemClear32(&extra->enemies, 0x20);
+ MemClear(&extra->enemies, 0x20);
AppendEntityToList(extra, 8);
}
return extra;
diff --git a/src/manager/managerC.c b/src/manager/managerC.c
index 72529c2f..972fc67b 100644
--- a/src/manager/managerC.c
+++ b/src/manager/managerC.c
@@ -40,12 +40,9 @@ void sub_08058A04(ManagerC*);
void sub_080588F8(ManagerC*);
u32 sub_08058B08(ManagerC*, u32, u32, const struct_08108228*);
void sub_08058B5C(ManagerC*, u32);
-void sub_08058D34(void);
extern void sub_0805622C(struct BgAffineDstData*, u32, u32);
-extern void sub_08052D74(void*, void*, void*);
extern void sub_080044AE(Entity*, u32, u32);
-extern void MemCopy(const void* src, void* dest, u32 size);
extern u8 gUnk_03003DE4[0xC];
@@ -88,7 +85,7 @@ void sub_080588CC(ManagerC* this) {
void nullsub_108(ManagerC* this) {
}
-#define ABS_DIFF_GT(a, b, c) (signed)a - b >= 0 ? a - b > c : b - a > c
+#define ABS_DIFF_GT(a, b, c) ((signed)(a) - (b) >= 0 ? (a) - (b) > (c) : (b) - (a) > (c))
void sub_080588F8(ManagerC* this) {
if (this->manager.unk_0f == 0) {
diff --git a/src/manager/managerE.c b/src/manager/managerE.c
index 0f5e9328..44bfb5a7 100644
--- a/src/manager/managerE.c
+++ b/src/manager/managerE.c
@@ -3,13 +3,7 @@
#include "manager.h"
#include "flags.h"
#include "room.h"
-
-extern void LoadRoomEntityList(Entity*);
-extern void DeleteThisEntity(void);
-extern void DeleteManager(Manager*);
-extern void sub_08078A90(u32);
-extern void sub_08078B48(void);
-extern void SoundReq(u32);
+#include "functions.h"
void sub_08058E60(ManagerE* this) {
if (!this->manager.action) {
diff --git a/src/npc/anju.c b/src/npc/anju.c
index b0b0ee91..3e52d5a0 100644
--- a/src/npc/anju.c
+++ b/src/npc/anju.c
@@ -6,14 +6,8 @@
#include "sprite.h"
#include "textbox.h"
#include "npc.h"
-
-extern void sub_0805E3A0(Entity*, u32);
-extern void sub_0807DD50(Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
-extern void sub_0807DD94(Entity*, u32);
-extern u32 sub_0801E99C(void);
-extern void sub_08078784(Entity*, u32);
+#include "script.h"
+#include "functions.h"
void Anju(Entity* this) {
switch (this->action) {
@@ -43,7 +37,7 @@ void Anju(Entity* this) {
}
void sub_0806C354(Entity* this) {
- this->field_0x68.HALF.LO = sub_0801E99C();
+ this->field_0x68.HALF.LO = sub_0801E99C(this);
sub_08078784(this, this->field_0x68.HALF.LO);
}
diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c
index 2874115f..25b5b50d 100644
--- a/src/npc/bigGoron.c
+++ b/src/npc/bigGoron.c
@@ -8,12 +8,6 @@
extern void (*gUnk_081140D4[])(Entity*);
extern u16 gUnk_081140CC[];
-extern void sub_0806D0B0(Entity*);
-extern void sub_0807DD64(Entity*);
-extern void sub_0807DDE4(Entity*);
-extern void SoundReq(u32);
-extern void sub_0806D02C(Entity*);
-extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32);
void BigGoron(Entity* this) {
gUnk_081140D4[this->type](this);
diff --git a/src/npc/carlov.c b/src/npc/carlov.c
index d3824e78..305e48e3 100644
--- a/src/npc/carlov.c
+++ b/src/npc/carlov.c
@@ -7,10 +7,9 @@
#include "textbox.h"
#include "npc.h"
#include "structures.h"
+#include "functions.h"
-extern void sub_0807DD50(Entity*);
extern void sub_0807DD94(Entity*, u32);
-extern void EnqueueSFX(u32);
void Carlov(Entity* this) {
if (this->action == 0) {
diff --git a/src/npc/carpenter.c b/src/npc/carpenter.c
index f4bdb04a..53e719f8 100644
--- a/src/npc/carpenter.c
+++ b/src/npc/carpenter.c
@@ -2,20 +2,10 @@
#include "entity.h"
#include "sprite.h"
#include "player.h"
+#include "functions.h"
-extern void DeleteThisEntity();
-extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern SpriteLoadData gUnk_08110CA8[];
-extern void sub_0805E3A0(Entity*, u32);
-extern void sub_0807DD64(Entity*);
-extern u32 GetFacingDirection(Entity*, Entity*);
-extern void sub_0806F118(Entity*);
extern void sub_0807DDAC(Entity*, u32);
-extern void sub_0807DDE4(Entity*);
-extern u32 UpdateFuseInteraction(Entity*);
-extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
-extern void sub_0807000C(Entity*);
-extern u32 sub_0806F5A4();
void Carpenter(Entity* this) {
if (*(u32*)&this->cutsceneBeh == 0) {
diff --git a/src/npc/cow.c b/src/npc/cow.c
index aeb62982..18e18927 100644
--- a/src/npc/cow.c
+++ b/src/npc/cow.c
@@ -3,20 +3,9 @@
#include "player.h"
#include "functions.h"
-extern void sub_0806920C(Entity*);
-extern u32 sub_0805ACC0(Entity*);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_0806924C(Entity*);
-extern void sub_08078778(Entity*);
-extern void sub_080787A8(Entity*, u32);
-extern void sub_0806F118(Entity*);
-extern void sub_080791D0();
extern void (*gUnk_08111914[])(Entity*);
extern void (*gUnk_08111928[])(Entity*);
extern Dialog gUnk_08111938[];
-extern void SoundReq(u32);
-extern u32 UpdateFuseInteraction(Entity*);
-extern PlayerState gPlayerState;
void Cow(Entity* ent) {
gUnk_08111914[ent->action](ent);
diff --git a/src/npc/dampe.c b/src/npc/dampe.c
index f424c1d8..447fd069 100644
--- a/src/npc/dampe.c
+++ b/src/npc/dampe.c
@@ -6,14 +6,9 @@
#include "sprite.h"
#include "textbox.h"
#include "npc.h"
+#include "functions.h"
-extern void sub_0805E3A0(Entity*, u32);
-extern void sub_0807DD50(Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
-extern u32 sub_0801E99C(void);
-extern void sub_08078784(Entity*, u32);
extern u16 gUnk_08113344[];
extern u16 gUnk_0811334A[];
@@ -52,7 +47,7 @@ void Dampe(Entity* this) {
}
void sub_0806BE3C(Entity* this) {
- this->field_0x68.HALF.LO = sub_0801E99C();
+ this->field_0x68.HALF.LO = sub_0801E99C(this);
sub_08078784(this, this->field_0x68.HALF.LO);
}
diff --git a/src/npc/emma.c b/src/npc/emma.c
index c43b961c..cee0b683 100644
--- a/src/npc/emma.c
+++ b/src/npc/emma.c
@@ -1,18 +1,15 @@
#include "global.h"
#include "entity.h"
+#include "functions.h"
extern u32 gUnk_0813AD10;
extern u32 gUnk_0813AD24;
extern u32 gUnk_0813AD38;
-extern void sub_0805E3A0(Entity*, u32);
-extern void sub_0807DD50(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern void DoExitTransition(u32*);
-void Emma(Entity* param_1)
-
-{
+void Emma(Entity* param_1) {
if (param_1->action == 0) {
param_1->action += 1;
sub_0805E3A0(param_1, 2);
@@ -20,26 +17,16 @@ void Emma(Entity* param_1)
} else {
sub_0807DD94(param_1, 0);
}
- return;
}
-void sub_0806C578(void)
-
-{
+void sub_0806C578(void) {
DoExitTransition(&gUnk_0813AD10);
- return;
}
-void sub_0806C588(void)
-
-{
+void sub_0806C588(void) {
DoExitTransition(&gUnk_0813AD24);
- return;
}
-void FUN_0806c598(void)
-
-{
+void FUN_0806c598(void) {
DoExitTransition(&gUnk_0813AD38);
- return;
}
diff --git a/src/npc/ezloCap.c b/src/npc/ezloCap.c
index 13ecd8f9..715dcf2f 100644
--- a/src/npc/ezloCap.c
+++ b/src/npc/ezloCap.c
@@ -342,7 +342,6 @@ extern ScreenTransitionData gUnk_0813ACAC;
extern ScreenTransitionData gUnk_0813ACC0;
extern ScreenTransitionData gUnk_0813ACD4;
extern ScreenTransitionData gUnk_0813ACE8;
-extern ScreenTransitionData gUnk_0813AC5C;
extern ScreenTransitionData gUnk_0813ACFC;
// Array of pointers to ScreenTransitionData
const ScreenTransitionData* const gUnk_081141A4[] = { &gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8,
diff --git a/src/npc/festari.c b/src/npc/festari.c
index ad1635bd..2cbe44c6 100644
--- a/src/npc/festari.c
+++ b/src/npc/festari.c
@@ -5,10 +5,6 @@
#include "player.h"
#include "script.h"
-extern u32 sub_0801E99C(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern void sub_0807DD50(Entity*);
-extern void sub_0806F118(Entity*);
extern void sub_0805FF2C(Entity*, void*);
extern void (*const gUnk_08109BBC[])(Entity*);
diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c
index ce829a81..a44f413b 100644
--- a/src/npc/forestMinish.c
+++ b/src/npc/forestMinish.c
@@ -9,19 +9,9 @@
#include "save.h"
#include "script.h"
-extern void sub_0807DD50(Entity*);
-extern void sub_0806F118(Entity*);
-extern void sub_0807DDE4(Entity*);
extern void sub_080600F0(Entity*);
extern s32 sub_0806EDD8(Entity*, u32, u32);
-extern u32 sub_0806F5B0(u32);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern void sub_0807000C(Entity*);
extern void sub_08060158(Entity*);
-extern u32 CheckKinstoneFused(u32);
-extern Entity* FindEntityInListBySubtype(u32, u32, u32);
-extern void DeleteEntity(Entity*);
extern void ModBombs(s32);
extern SpriteLoadData gUnk_0810A348;
diff --git a/src/npc/gentari.c b/src/npc/gentari.c
index b7387777..cc086d8a 100644
--- a/src/npc/gentari.c
+++ b/src/npc/gentari.c
@@ -2,14 +2,8 @@
#include "entity.h"
#include "npc.h"
#include "player.h"
-
-extern void sub_0805E3A0(Entity*, u32);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern void sub_0807DD50(Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
-extern void sub_0807DD94(Entity*, u32);
+#include "script.h"
+#include "functions.h"
void Gentari(Entity* this) {
switch (this->action) {
diff --git a/src/npc/guard.c b/src/npc/guard.c
index 782253ee..052fa98f 100644
--- a/src/npc/guard.c
+++ b/src/npc/guard.c
@@ -4,6 +4,8 @@
#include "flags.h"
#include "textbox.h"
#include "room.h"
+#include "structures.h"
+#include "functions.h"
typedef struct {
u32 unk;
@@ -11,29 +13,15 @@ typedef struct {
} struct_03003DB8;
typedef struct {
- u8 filler[8];
- u8 unk;
-} ScreenTransition;
-
-typedef struct {
u32 unk;
u32 unk2;
} struct_08064050;
extern void sub_08063D24(Entity*);
-extern void sub_0806ED78(Entity*);
-extern u32 GetFacingDirection(Entity*, Entity*);
-extern u32 sub_0806F5A4(u32);
extern void sub_0806EE20(Entity*);
extern void sub_08064428(Entity*);
-extern u32 sub_0805ACC0(Entity*);
extern void sub_0807DDAC(Entity*, u32);
-extern void sub_0807DDE4(Entity*);
-extern void sub_0807000C(Entity*);
extern void sub_0806EE04(Entity*, void*, u32);
-extern Entity* sub_080A7EE0(int);
-extern void sub_08078778(Entity*);
-extern void sub_0807DD64(Entity*);
void sub_08063DC8(Entity*);
void sub_08063F20(Entity*);
@@ -220,7 +208,7 @@ void sub_08064030(Entity* arg0, Entity* arg1) {
}
void sub_08064044(void) {
- gScreenTransition.unk = 1;
+ gScreenTransition.transitioningOut = 1;
}
void sub_08064050(Entity* arg0, struct_08064050* arg1) {
diff --git a/src/npc/mailbox.c b/src/npc/mailbox.c
index 6ccdd0a8..bab9a8ba 100644
--- a/src/npc/mailbox.c
+++ b/src/npc/mailbox.c
@@ -1,8 +1,8 @@
#include "global.h"
#include "entity.h"
#include "textbox.h"
+#include "functions.h"
-extern void sub_0806ED78(Entity*);
extern void sub_08063280();
extern void (*gMailboxBehaviors[4])(Entity*);
diff --git a/src/npc/malon.c b/src/npc/malon.c
index ca6d6eab..47052160 100644
--- a/src/npc/malon.c
+++ b/src/npc/malon.c
@@ -3,8 +3,6 @@
#include "entity.h"
#include "script.h"
-extern Entity gPlayerEntity;
-
extern void (*gUnk_0810FF5C[])(Entity* this);
extern void (*gUnk_0810FF64[])(Entity* this);
diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c
index df7366dd..0af6cdf9 100644
--- a/src/npc/mayorHagen.c
+++ b/src/npc/mayorHagen.c
@@ -11,17 +11,9 @@
#include "save.h"
#include "script.h"
-extern void sub_0807DD50(Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern void sub_0807DDE4(Entity*);
extern void sub_08078850();
extern u32 gUnk_08113F44;
extern Dialog gUnk_08113F48[];
-extern u32 GetInventoryValue(u32);
-extern u32 CheckLocalFlag(u32);
-extern void SetLocalFlag();
void MayorHagen(Entity* this) {
u32 v;
diff --git a/src/npc/melari.c b/src/npc/melari.c
index 38bc4e54..9758c20d 100644
--- a/src/npc/melari.c
+++ b/src/npc/melari.c
@@ -6,18 +6,7 @@
#include "script.h"
extern void sub_08068780(Entity*);
-extern void sub_08078778(Entity*);
-extern void sub_0807DD50(Entity*);
-extern void sub_0806F118(Entity*);
-extern void sub_0807DDE4(Entity*);
-extern u32 sub_080040A8(Entity*);
-extern void EnqueueSFX(u32);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern void sub_0807000C(Entity*);
extern s32 sub_0806EDD8(Entity*, u32, u32);
-extern void sub_080A7C18(u32, u32, u32);
-extern void sub_0807CAA0(u32, u32);
extern void (*const gUnk_08111530[])(Entity*);
diff --git a/src/npc/milkCart.c b/src/npc/milkCart.c
index b423dca7..29481848 100644
--- a/src/npc/milkCart.c
+++ b/src/npc/milkCart.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "entity.h"
-
-extern void sub_0806ED78();
+#include "functions.h"
extern void (*gMilkCartBehaviors[2])(Entity*);
diff --git a/src/npc/moblinLady.c b/src/npc/moblinLady.c
index 640c09d9..79152daf 100644
--- a/src/npc/moblinLady.c
+++ b/src/npc/moblinLady.c
@@ -6,8 +6,8 @@
#include "sprite.h"
#include "textbox.h"
#include "npc.h"
-extern void sub_0807DD50();
-extern void sub_0807DD94();
+#include "script.h"
+#include "functions.h"
void MoblinLady(Entity* this) {
if (this->action == 0) {
diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c
index 998a54a6..5391ac8d 100644
--- a/src/npc/mutoh.c
+++ b/src/npc/mutoh.c
@@ -9,15 +9,6 @@
#include "save.h"
#include "script.h"
-extern void sub_0807DD50(Entity*);
-extern u32 GetFacingDirection(Entity*, Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
-extern u32 UpdateFuseInteraction(Entity*);
-extern void sub_0807000C(Entity*);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_08078784(Entity*, u32);
-
extern SpriteLoadData gUnk_08110C00;
extern u16 gUnk_08110C0C[];
extern Dialog gUnk_08110C10[];
diff --git a/src/npc/npc9.c b/src/npc/npc9.c
index 47cc501b..23a0bd3e 100644
--- a/src/npc/npc9.c
+++ b/src/npc/npc9.c
@@ -1,11 +1,7 @@
#include "global.h"
#include "entity.h"
#include "textbox.h"
-
-extern void sub_08078778(Entity*);
-extern void sub_0805E47C(Entity*);
-extern void sub_0806ED78(Entity*);
-extern void sub_0805E584(Entity*);
+#include "functions.h"
extern void (*const gUnk_0810C290[])(Entity*);
diff --git a/src/npc/percy.c b/src/npc/percy.c
index a2a8fcd8..3c5c8a01 100644
--- a/src/npc/percy.c
+++ b/src/npc/percy.c
@@ -10,7 +10,6 @@ extern void sub_0806B41C(Entity*);
extern void sub_0806B3CC(Entity*);
extern u32 sub_08002632(Entity*);
-extern void sub_0801DFB4(Entity*, u32, u32, u32);
extern u16* gUnk_08001A7C[40];
extern u16 gUnk_08112E54[4];
diff --git a/src/npc/postman.c b/src/npc/postman.c
index 532f129f..6331461f 100644
--- a/src/npc/postman.c
+++ b/src/npc/postman.c
@@ -10,23 +10,11 @@
#include "script.h"
extern void sub_08060528(Entity*);
-extern void* GetCurrentRoomProperty(u32);
extern void sub_0806EE04(Entity*, void*, u32);
extern void sub_080604DC(Entity*);
-extern s32 sub_0806ED9C(Entity*, u32, u32);
extern void sub_0806EE20(Entity*);
-extern u32 sub_080040A8(Entity*);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_0807DD50(Entity*);
-extern void sub_0806F118(Entity*);
-extern u32 sub_0806F5A4(u32);
-extern u32 GetFacingDirection(Entity*, Entity*);
extern void sub_080606D8(Entity*);
-extern void sub_080788E0(Entity*);
-extern void EnqueueSFX(u32);
extern void sub_080606C0(Entity*);
-extern void sub_0800451C(Entity*);
-extern void sub_08078784(Entity*, u32);
typedef struct {
s16 x;
diff --git a/src/npc/rem.c b/src/npc/rem.c
index a0b87267..a2ba4598 100644
--- a/src/npc/rem.c
+++ b/src/npc/rem.c
@@ -3,8 +3,6 @@
#include "entity.h"
#include "script.h"
-extern void sub_0807DDE4(Entity*);
-extern void SoundReq(u32);
extern void sub_0806A8C8(Entity*);
extern void (*gUnk_08112260[])(Entity*);
diff --git a/src/npc/simon.c b/src/npc/simon.c
index 35397e80..bfcb19af 100644
--- a/src/npc/simon.c
+++ b/src/npc/simon.c
@@ -11,9 +11,6 @@ typedef struct {
} struct_0806C2A0;
extern void DoExitTransition(void*);
-extern void SetTileType(u32, u32, u32);
-extern void DoExitTransition(void*);
-extern void DoFade(u32, u32);
extern void gUnk_0813AD60;
extern void gUnk_0813AD74;
diff --git a/src/npc/smith.c b/src/npc/smith.c
index 3502d8bf..ac3a9d4c 100644
--- a/src/npc/smith.c
+++ b/src/npc/smith.c
@@ -5,19 +5,7 @@
#include "save.h"
#include "script.h"
-extern u32 GetFacingDirection(Entity*, Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
-extern Entity* CreateFx(Entity*, u32, u32);
-extern void SoundReq(u32);
-extern void sub_0807000C(Entity*);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_0807DD50(Entity*);
-extern void sub_0807DDE4(Entity*);
-extern u32 UpdateFuseInteraction(Entity*);
-extern u32 GetAnimationState(Entity*);
extern void sub_08078850(u32, u32, u32, u32*);
-extern void sub_08078784(Entity*, u32);
extern void (*const gUnk_08110360[])(Entity*);
extern void (*const gUnk_0811036C[])(Entity*);
diff --git a/src/npc/stamp.c b/src/npc/stamp.c
index a30d31ad..92deb07b 100644
--- a/src/npc/stamp.c
+++ b/src/npc/stamp.c
@@ -4,13 +4,7 @@
#include "functions.h"
#include "script.h"
-extern void sub_08078778(Entity*);
-extern void sub_0805E47C(Entity*);
-extern void sub_0805E584();
-extern void sub_0807DD64();
extern void sub_08062CA4();
-extern void sub_0807DDE4();
-extern u32 CheckKinstoneFused();
extern void (*gStampBehaviors1[4])(Entity*);
extern void (*gStampBehaviors2[2])(Entity*);
diff --git a/src/npc/syrup.c b/src/npc/syrup.c
index 307c75bd..54e28b30 100644
--- a/src/npc/syrup.c
+++ b/src/npc/syrup.c
@@ -1,19 +1,15 @@
#include "global.h"
#include "entity.h"
#include "npc.h"
-
-extern void sub_0807DD50(Entity*);
-extern void sub_0806ED78(Entity*);
-extern void sub_0805E3A0(Entity*, u32);
+#include "script.h"
+#include "functions.h"
extern void (*gUnk_081121D4[])(Entity*);
extern SpriteLoadData gUnk_081121C4;
extern SpriteLoadData gUnk_081121B4;
-extern u32 gScreenTransition;
-extern void sub_0807DD94(Entity*, u32);
+
extern void sub_0806A26C(Entity*);
-extern void sub_080042BA(Entity*, u32);
void Syrup(Entity* this) {
gUnk_081121D4[this->action](this);
@@ -38,7 +34,7 @@ void sub_0806A1F8(Entity* this) {
void sub_0806A234(Entity* this) {
sub_0807DD94(this, 0);
if ((this->field_0x82.HWORD & 4) != 0) {
- if ((gScreenTransition & 7) == 0) {
+ if ((gScreenTransition.frameCount & 7) == 0) {
sub_0806A26C(this);
}
sub_080042BA(this, 2);
diff --git a/src/npc/teachers.c b/src/npc/teachers.c
index eaae979d..87fb3180 100644
--- a/src/npc/teachers.c
+++ b/src/npc/teachers.c
@@ -6,13 +6,6 @@
#include "script.h"
extern SpriteLoadData gUnk_08113910[];
-extern void sub_0807DD50(Entity*);
-extern u32 GetFacingDirection(Entity*, Entity*);
-extern u32 sub_0806F5A4(u32);
-extern void sub_0806F118(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern u32 UpdateFuseInteraction(Entity*);
-extern void sub_0807000C(Entity*);
extern Dialog gUnk_08113930[];
diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c
index 3f97b540..bcc3c6fc 100644
--- a/src/npc/townMinish.c
+++ b/src/npc/townMinish.c
@@ -7,17 +7,12 @@
#include "save.h"
#include "script.h"
-extern void InitializeAnimation(Entity*, u32);
-extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
-
extern u32 sub_080002C0();
extern void sub_0806ACC4(Entity*);
extern void sub_0806AEA8();
extern void sub_0806AEE4(Entity*);
extern void sub_0806AFE8(Entity*, s32*);
extern s32 sub_0806EDD8(Entity*, u32, u32);
-extern u32 sub_0806F5B0(u32);
-extern void sub_08078784(Entity*, u32);
extern void sub_08078850(Entity*, u32, u32, u32*);
extern u8 gUnk_081125F4[12];
diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c
index dbc50909..7f87dd41 100644
--- a/src/npc/townsperson.c
+++ b/src/npc/townsperson.c
@@ -24,19 +24,8 @@ typedef struct {
extern void (*const gUnk_0810B774[])(Entity*);
extern void (*const gUnk_0810B77C[])(Entity*);
extern void sub_08061CB4(Entity*, u32);
-extern u32 sub_0805ACC0(Entity*);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_0807DD64(Entity*);
extern void sub_08061D64(Entity*);
-extern void sub_0806F118(Entity*);
-extern u32 sub_0806F5A4(u32);
-extern u32 GetFacingDirection(Entity*, Entity*);
-extern void sub_0807DDE4(Entity*);
extern void sub_08062048(Entity*);
-extern void sub_08078784(Entity*, u32);
-extern void sub_08078778(Entity*);
-extern u32 sub_0806F5B0(u32);
-extern void ResolveEntityOnTop(Entity*, Entity*);
extern void sub_08078850(Entity*, u32, u8, u32*);
extern SpriteLoadData* gUnk_0810B6EC[];
diff --git a/src/npc/wheaton.c b/src/npc/wheaton.c
index 2edbc69c..1d2170a8 100644
--- a/src/npc/wheaton.c
+++ b/src/npc/wheaton.c
@@ -1,11 +1,9 @@
#include "global.h"
#include "entity.h"
+#include "script.h"
+#include "functions.h"
-extern void sub_0805E3A0(Entity*, u32);
-extern void ResolveEntityOnTop(Entity*, Entity*);
extern Hitbox gUnk_0810C3C0;
-extern void sub_0807DD64(Entity*);
-extern void sub_0807DD94(Entity*, u32);
void Wheaton(Entity* this) {
if (this->action == 0) {
diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c
index 9429ccd6..312e09de 100644
--- a/src/npc/windTribespeople.c
+++ b/src/npc/windTribespeople.c
@@ -8,17 +8,8 @@
#include "save.h"
#include "script.h"
-extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
-extern void sub_0807DD50(Entity*);
extern void sub_0806C7D4(Entity*);
-extern void sub_0806F118(Entity*);
extern void sub_0807DD80(Entity*, u32*);
-extern u32 sub_0801E99C();
-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 (*const gUnk_08113A7C[])(Entity*);
extern void (*const gUnk_08113A8C[])(Entity*, Entity*);
diff --git a/src/npc/zelda.c b/src/npc/zelda.c
index 90a40fc0..62672012 100644
--- a/src/npc/zelda.c
+++ b/src/npc/zelda.c
@@ -6,20 +6,11 @@
#include "script.h"
extern void PrependEntityToList(Entity*, u32);
-extern void sub_0807DD50(Entity*);
extern Entity* FindEntityBySubtype(u32, u32);
-void CopyPosition(Entity*, Entity*);
void sub_08068680(Entity*, Entity*);
void sub_08068694(Entity*, Entity*);
-u32 GetAnimationState(Entity* ent);
-void DeleteThisEntity(void);
extern Entity* GetEntityByType(u32, u32);
extern void sub_080686C4(Entity*, Entity*);
-extern void SoundReq(u32);
-extern void SetTileType(u32, u32, u32);
-
-extern Entity gPlayerEntity;
-extern RoomControls gRoomControls;
extern void (*gUnk_08110BD8[])(Entity* ent);
extern u16 gUnk_08110BE0[];
diff --git a/src/object/archway.c b/src/object/archway.c
index 39975ee7..a33b7dd3 100644
--- a/src/object/archway.c
+++ b/src/object/archway.c
@@ -1,8 +1,7 @@
#include "global.h"
#include "entity.h"
#include "sprite.h"
-
-extern u32 CheckIsDungeon();
+#include "functions.h"
void Archway(Entity* this) {
u32 v1;
diff --git a/src/object/bell.c b/src/object/bell.c
index 072b0798..3a1e7d41 100644
--- a/src/object/bell.c
+++ b/src/object/bell.c
@@ -1,5 +1,5 @@
-#include "entity.h"
#include "global.h"
+#include "entity.h"
extern void (*gUnk_08123384[])(Entity*);
diff --git a/src/object/button.c b/src/object/button.c
index 23a2ee8d..968838e8 100644
--- a/src/object/button.c
+++ b/src/object/button.c
@@ -105,7 +105,6 @@ void sub_08081C98(Entity* this) {
}
Entity* sub_08081D74(Entity*);
-void sub_0807B7D8(u32, u32, u32);
u32 sub_080001DA(u32, u32);
u32 sub_08081CB0(Entity* this) {
@@ -142,8 +141,7 @@ u32 sub_08081D28(Entity* this) {
}
extern u32 sub_080002E0(u32, u32);
-extern Entity* gUnk_03004040[];
-extern u32 sub_080041A0(Entity*, Entity*, u32, u32);
+extern Entity* gUnk_03004040[3];
u32 sub_08081E0C(Entity*);
Entity* sub_08081D74(Entity* this) {
@@ -171,8 +169,6 @@ Entity* sub_08081D74(Entity* this) {
return ent;
}
-extern u32 sub_08079F8C();
-
u32 sub_08081E0C(Entity* this) {
Entity* tmp = &gPlayerEntity;
if (tmp->height.HALF.HI != 0 || !sub_08079F8C()) {
@@ -273,7 +269,6 @@ u32 sub_08081F7C(Entity* this, u32 r7) {
return 1;
}
-extern Entity* gUnk_03004040[3];
extern void sub_080044AE(Entity*, u32, u32);
void sub_08081FF8(Entity* this) {
diff --git a/src/object/cloud.c b/src/object/cloud.c
index a2637b6b..de6aa165 100644
--- a/src/object/cloud.c
+++ b/src/object/cloud.c
@@ -7,25 +7,12 @@
#include "structures.h"
extern void sub_0809F7BC(Entity*);
-extern void SoundReq(u32);
-extern void sub_0809F814(u32);
extern void sub_0809F7F4(Entity*);
-extern void LoadRoomEntityList();
-extern void DeleteThisEntity();
-extern u32 CheckRoomFlag(u32);
-extern void sub_08078A90(u32);
-extern void sub_08078B48(void);
-extern void sub_0806F69C(Entity*);
extern void (*gUnk_08124798[])(Entity*);
extern void (*gUnk_081247A0[])(Entity*);
extern void (*gUnk_081247AC[])(Entity*);
-extern Entity* CreateObject(u32, u32, u32);
-extern void PositionEntityOnTop(Entity*, Entity*);
-extern void sub_0807BB68(u32*, u32, u32);
extern void* gUnk_080DD750;
-extern Entity gPlayerEntity;
-extern PlayerState gPlayerState;
extern u8 gUnk_081247C0[];
extern u16 gUnk_081247C8[];
extern u32 gUnk_081247D0;
diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c
index 51403761..a35ea276 100644
--- a/src/object/fileScreenObjects.c
+++ b/src/object/fileScreenObjects.c
@@ -10,9 +10,7 @@
#include "fileScreen.h"
extern int sub_0807A094(int);
-extern void LoadPalettes(const u8*, int, int);
extern u32 sub_080041EC(int, int);
-extern u32 sub_080045DA(int, int);
static bool32 sub_0808E950(void);
static void sub_0808EABC(Entity*);
@@ -39,7 +37,6 @@ typedef struct {
extern void (*const gUnk_08121C64[])(Entity*);
extern void (*const gUnk_08121CCC[])(Entity*);
extern const int gUnk_08133368[];
-extern const u8 gGlobalGfxAndPalettes[];
extern const struct_08121CD4 gUnk_08121CD4[][4];
extern const u8 gUnk_08121D10[];
extern const u8 gUnk_08121D38[][8];
diff --git a/src/object/giantLeaf.c b/src/object/giantLeaf.c
index cf2fb1df..9badc65b 100644
--- a/src/object/giantLeaf.c
+++ b/src/object/giantLeaf.c
@@ -1,11 +1,10 @@
#include "global.h"
#include "entity.h"
#include "room.h"
+#include "functions.h"
-void SetTile(u32 tileIndex, s32 tilePosition, s32 layerIndex);
void sub_0808D618(Entity* ent);
-extern RoomControls gRoomControls;
extern s16 gUnk_08121750[];
extern s16 gUnk_0812176A[];
diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c
index e71ddfc6..85d7474b 100644
--- a/src/object/greatFairy.c
+++ b/src/object/greatFairy.c
@@ -4,8 +4,9 @@
#include "screen.h"
#include "structures.h"
#include "greatFairy.h"
-#include "functions.h"
+#include "flags.h"
#include "save.h"
+#include "functions.h"
enum {
BEHAVIORS,
diff --git a/src/object/heartContainer.c b/src/object/heartContainer.c
index f6858b50..501bb7d7 100644
--- a/src/object/heartContainer.c
+++ b/src/object/heartContainer.c
@@ -3,9 +3,6 @@
#include "flags.h"
#include "functions.h"
-extern void DeleteThisEntity();
-extern void sub_08080CB4(Entity*);
-extern u32 sub_08017850(Entity*);
static void sub_0808E6A0(Entity*);
static void sub_0808E6E4(Entity*);
static void sub_0808E714(Entity*);
diff --git a/src/object/jailBars.c b/src/object/jailBars.c
index d046c822..505ca8e2 100644
--- a/src/object/jailBars.c
+++ b/src/object/jailBars.c
@@ -2,9 +2,9 @@
#include "entity.h"
#include "flags.h"
#include "room.h"
+#include "functions.h"
extern void sub_080A0960(Entity*, u32);
-extern void SoundReq(u32);
extern void sub_0801AF18(u8*, u32, u32);
extern void (*const gUnk_08124950[])(Entity*);
diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c
index cfbf0ba5..cbeafdd7 100644
--- a/src/object/lightableSwitch.c
+++ b/src/object/lightableSwitch.c
@@ -7,10 +7,7 @@
extern void sub_0809EB30(Entity*);
extern void sub_0809EAD8(Entity*);
extern void sub_0809EABC(Entity*);
-extern void EnqueueSFX(u32);
extern void sub_080A2CC0(Entity*, Entity**, u16*);
-extern void SetTile(u32, u32, u32);
-extern void sub_0806F69C(Entity*);
extern void (*const gUnk_081243B4[])(Entity*);
extern void (*const gUnk_081243BC[])(Entity*);
diff --git a/src/object/mask.c b/src/object/mask.c
index e405df5f..ffe931b1 100644
--- a/src/object/mask.c
+++ b/src/object/mask.c
@@ -2,26 +2,18 @@
#include "entity.h"
#include "room.h"
#include "random.h"
+#include "structures.h"
+#include "player.h"
+#include "flags.h"
+#include "functions.h"
-extern Entity gPlayerEntity;
-extern u16 gScreenTransition[];
extern void (*MaskActionFuncs[])(Entity*);
-extern void DeleteThisEntity();
-
-extern bool32 CheckFlags(u16);
-extern void SetFlag(u16);
-extern void ClearFlag(u16);
-
-extern void SetTile(u32, u16, u32);
-
extern void sub_08000148(u16, u16, u32);
extern s16 sub_080001DA(u16, u32);
extern u16 sub_080002E0(u16, u32);
-extern void EnqueueSFX(u32);
-extern void sub_080044EC(Entity*, u16);
extern void sub_0805457C(Entity*, s32);
void Mask(Entity* this) {
@@ -35,7 +27,7 @@ void sub_080929A4(Entity* this) {
switch (this->type2 & 0xC0) {
case 0x40:
- field_0x0a = gScreenTransition[0x5];
+ field_0x0a = gScreenTransition.field_0xa;
switch (field_0x0a) {
case 0x44D ... 0x44F:
@@ -69,7 +61,7 @@ void sub_080929A4(Entity* this) {
this->field_0x7a.HWORD = sub_080002E0(this->field_0x7c.HALF.HI, 1);
- SetTile(0x4022, this->field_0x7c.HALF.HI, 1);
+ SetTile(0x4022, this->field_0x7c.HALF_U.HI, 1);
}
// Probably related to knocking it down
@@ -94,7 +86,7 @@ void sub_08092A94(Entity* this) {
}
// Presumably, make the mask fall
- SetTile((u16)this->field_0x7c.HALF.LO, this->field_0x7c.HALF.HI, 1);
+ SetTile(this->field_0x7c.HALF_U.LO, this->field_0x7c.HALF_U.HI, 1);
sub_08000148(this->field_0x7a.HWORD, this->field_0x7c.HALF.HI, 1);
diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c
index 55c8b261..0fc2c3ac 100644
--- a/src/object/metalDoor.c
+++ b/src/object/metalDoor.c
@@ -2,15 +2,12 @@
#include "entity.h"
#include "room.h"
#include "flags.h"
+#include "functions.h"
extern u32 sub_08083734(Entity*, u32);
extern void sub_080A080C(Entity*);
-extern void sub_0806F69C(Entity*);
-extern void EnqueueSFX(u32);
extern void sub_080A0870(Entity*);
-extern void SoundReq(u32);
extern u32 sub_080001DA(u32, u32);
-extern void SetTile(u32, u32, u32);
extern void (*const gUnk_0812493C[])(Entity*);
diff --git a/src/object/minecart.c b/src/object/minecart.c
index 53d1ff82..311ea368 100644
--- a/src/object/minecart.c
+++ b/src/object/minecart.c
@@ -7,7 +7,6 @@ extern u32 sub_08091DDC(Entity*);
extern u32 sub_080002B4(Entity*, u32, u32);
extern u32 sub_08007DD6(u32, u32);
extern void sub_08017744(Entity*);
-extern u32 sub_080002B8(Entity*);
extern void sub_08091C0C(Entity*);
typedef struct {
diff --git a/src/object/minishSizedEntrance.c b/src/object/minishSizedEntrance.c
index 78410c6c..804772b7 100644
--- a/src/object/minishSizedEntrance.c
+++ b/src/object/minishSizedEntrance.c
@@ -1,9 +1,6 @@
#include "global.h"
#include "entity.h"
-
-extern bool32 CheckIsDungeon();
-extern void sub_080AE068(Entity*);
-extern void LoadFixedGFX(Entity*, u32);
+#include "functions.h"
extern void (*const gUnk_08122254[])(Entity*);
diff --git a/src/object/object1C.c b/src/object/object1C.c
index c12a6c1d..0c80735a 100644
--- a/src/object/object1C.c
+++ b/src/object/object1C.c
@@ -2,7 +2,6 @@
#include "entity.h"
extern u32 CheckRectOnScreen(s16, s16, u32, u32);
-extern void DeleteThisEntity();
void Object1C(Entity* this) {
s32 iVar1;
diff --git a/src/object/object1D.c b/src/object/object1D.c
index 8442b227..f7343fbe 100644
--- a/src/object/object1D.c
+++ b/src/object/object1D.c
@@ -1,8 +1,6 @@
#include "global.h"
#include "entity.h"
-void DeleteThisEntity();
-
extern void (*gUnk_081208A0[])(Entity*);
void Object1D(Entity* this) {
diff --git a/src/object/object49.c b/src/object/object49.c
index 16bf7bb9..e8475de8 100644
--- a/src/object/object49.c
+++ b/src/object/object49.c
@@ -11,7 +11,6 @@ static void sub_0808F244(Entity*);
extern void sub_0806FCF4(Entity*, u32, u32, u32);
extern void sub_0808F5EC(Entity*);
-extern bool32 sub_0806F3E4(Entity*);
extern void (*const gUnk_08121E5C[])(Entity*);
extern void (*const gUnk_08121E88[])(Entity*);
diff --git a/src/object/object7E.c b/src/object/object7E.c
index 6c89947e..4a128e63 100644
--- a/src/object/object7E.c
+++ b/src/object/object7E.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "entity.h"
-#include "functions.h"
+#include "position.h"
void Object7E(Entity* this) {
diff --git a/src/object/object86.c b/src/object/object86.c
index 9706e040..19159de4 100644
--- a/src/object/object86.c
+++ b/src/object/object86.c
@@ -1,9 +1,10 @@
#include "global.h"
#include "entity.h"
+#include "position.h"
#include "player.h"
#include "flags.h"
+#include "functions.h"
-extern u32 sub_080041A0(Entity*, Entity*, u32, u32);
void sub_08099ECC(Entity*);
extern void sub_0805E4E0(Entity*, u32);
extern void sub_0805B390(u32);
diff --git a/src/object/object9E.c b/src/object/object9E.c
index 858ee01b..321945b2 100644
--- a/src/object/object9E.c
+++ b/src/object/object9E.c
@@ -1,11 +1,11 @@
#include "global.h"
#include "entity.h"
+#include "position.h"
#include "room.h"
+#include "functions.h"
extern Hitbox gUnk_080FD168;
-extern void SetTile(u32, u32, u32);
-
void Object9E(Entity* this) {
Entity* ent;
u32 tilePos;
diff --git a/src/object/objectA8.c b/src/object/objectA8.c
index 4cca37f2..c1a5193a 100644
--- a/src/object/objectA8.c
+++ b/src/object/objectA8.c
@@ -1,14 +1,10 @@
#include "global.h"
#include "entity.h"
-
-extern Entity* CreateItemEntity(u32, u32, u32);
-extern void DeleteThisEntity();
-extern void sub_08080CB4(Entity*);
+#include "player.h"
+#include "functions.h"
extern void (*gUnk_08124824[])(Entity*);
-extern Entity gPlayerEntity;
-
void ObjectA8(Entity* this) {
if ((this->bitfield & 0x80) != 0) {
switch (this->bitfield & 0x7f) {
diff --git a/src/object/objectAF.c b/src/object/objectAF.c
index c1d32b60..ad13952e 100644
--- a/src/object/objectAF.c
+++ b/src/object/objectAF.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "entity.h"
+#include "position.h"
extern void sub_080A0640(Entity*);
diff --git a/src/object/objectB2.c b/src/object/objectB2.c
index 4722d2e9..71c7e4b5 100644
--- a/src/object/objectB2.c
+++ b/src/object/objectB2.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "entity.h"
+#include "functions.h"
-extern void sub_0806F69C(Entity*);
extern u32 sub_080AE4CC(Entity*, u32, u32, u32);
extern void* gUnk_02027EB4;
diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c
index d6a24471..7fcbb9a0 100644
--- a/src/object/pinwheel.c
+++ b/src/object/pinwheel.c
@@ -1,10 +1,9 @@
#include "global.h"
#include "entity.h"
+#include "flags.h"
#include "functions.h"
extern u32 ReadBit(u32*, u32);
-extern void DeleteThisEntity();
-extern u32 CheckLocalFlag(u32);
extern u32 gUnk_020342F8;
extern u16 gUnk_08125050[];
diff --git a/src/object/pot.c b/src/object/pot.c
index cd73f9a8..ceea4011 100644
--- a/src/object/pot.c
+++ b/src/object/pot.c
@@ -16,10 +16,8 @@ extern void (*const gUnk_0811F0C4[])(Entity*);
extern Hitbox gUnk_080FD338; // TODO: should be const
extern Hitbox gUnk_080FD340; // TODO: should be const
-extern u32 sub_08016A30(Entity*);
extern u32 sub_080001DA(u32, u32);
extern void sub_08078930(Entity*);
-extern u32 sub_080002B8(Entity*);
extern void sub_08016A6C(Entity*);
void Pot(Entity* this) {
diff --git a/src/object/railtrack.c b/src/object/railtrack.c
index 2e3a3d66..52a74bc3 100644
--- a/src/object/railtrack.c
+++ b/src/object/railtrack.c
@@ -2,13 +2,12 @@
#include "entity.h"
#include "room.h"
#include "flags.h"
+#include "functions.h"
extern u32* GetLayerByIndex(u32);
extern void sub_08085394(Entity*);
extern void sub_0808543C(Entity*);
-extern void EnqueueSFX(u32);
extern u32 sub_080854A8(Entity*);
-extern void SetTile(u32, u32, u32);
extern void (*const gUnk_081205D0[])(Entity*);
diff --git a/src/object/smoke.c b/src/object/smoke.c
index 5ec708b9..679894a8 100644
--- a/src/object/smoke.c
+++ b/src/object/smoke.c
@@ -2,8 +2,6 @@
#include "entity.h"
#include "functions.h"
-extern void sub_0806F69C(Entity*);
-
extern void (*const gUnk_08121060[])(Entity*);
extern void (*const gUnk_08121070[])(Entity*);
diff --git a/src/object/thoughtBubble.c b/src/object/thoughtBubble.c
index 596cb382..5e77d9e1 100644
--- a/src/object/thoughtBubble.c
+++ b/src/object/thoughtBubble.c
@@ -1,10 +1,6 @@
#include "global.h"
#include "entity.h"
-
-extern void InitializeAnimation(Entity*, u32);
-extern void SoundReq(u32);
-extern void DeleteThisEntity();
-extern void GetNextFrame(Entity*);
+#include "functions.h"
extern void (*const ThoughtBubble_Behaviors[])(Entity*);
diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c
index 912003b9..20833f0f 100644
--- a/src/object/treeHidingPortal.c
+++ b/src/object/treeHidingPortal.c
@@ -3,19 +3,17 @@
#include "flags.h"
#include "player.h"
#include "room.h"
+#include "structures.h"
+#include "functions.h"
extern void sub_0809E96C(Entity*);
-extern u32 sub_0800419C(Entity*, Entity*, u32, u32);
extern void CreateSparkle(Entity*);
extern u32 sub_0809E9A0(void);
-extern void sub_08078A90(u32);
extern void sub_0809E918(Entity*);
-extern void SoundReq(u32);
extern void CreateMinishEntrance(u32 tile);
extern void (*const gUnk_08124354[])(Entity*);
-extern u32 gScreenTransition;
extern s16 gUnk_08124364[];
void TreeHidingPortal(Entity* this) {
@@ -36,7 +34,7 @@ void sub_0809E86C(Entity* this) {
if (sub_0800419C(this, &gPlayerEntity, 0x30, 0x30)) {
if (CheckGlobalFlag(EZERO_1ST)) {
- if (((gScreenTransition & 3) == 0)) {
+ if (((gScreenTransition.frameCount & 3) == 0)) {
CreateSparkle(this);
}
}
diff --git a/src/object/well.c b/src/object/well.c
index fda35fed..86710ac6 100644
--- a/src/object/well.c
+++ b/src/object/well.c
@@ -2,11 +2,7 @@
#include "entity.h"
#include "room.h"
#include "player.h"
-
-void SetTile(u32 tileIndex, s32 tilePosition, s32 layerIndex);
-s32 GetTileType(s32 tilePosition, s32 layerIndex);
-void sub_08078B48();
-void DeleteThisEntity();
+#include "functions.h"
extern void (*gUnk_08124C08[])(Entity*);
diff --git a/src/object/windcrest.c b/src/object/windcrest.c
index efc11dc4..0ce28743 100644
--- a/src/object/windcrest.c
+++ b/src/object/windcrest.c
@@ -4,11 +4,7 @@
#include "save.h"
#include "script.h"
-extern void sub_0807DD64(Entity*);
-extern void sub_0807DDE4(Entity*);
extern void sub_08078850(Entity*, u32, u32, u8*);
-extern void SoundReq(u32);
-extern Entity* CreateFx(Entity*, u32, u32);
extern u8 gUnk_08125010;
diff --git a/src/playerItem.c b/src/playerItem.c
index 364502d0..7eca5211 100644
--- a/src/playerItem.c
+++ b/src/playerItem.c
@@ -1,4 +1,6 @@
-extern void DeleteEntity();
+#include "global.h"
+#include "functions.h"
+
extern void sub_080A7544();
extern void sub_0801B188();
extern void sub_0801B45C();
diff --git a/src/room.c b/src/room.c
index f400ce7f..0af93d77 100644
--- a/src/room.c
+++ b/src/room.c
@@ -440,8 +440,6 @@ u32 sub_0804B8B0(void) {
return 1;
}
-extern void* gUnk_08010A5C[];
-
void sub_0804B8F0(void) {
if (CheckLocalFlag(0x91)) {
ClearLocalFlag(0x91);
@@ -4307,8 +4305,6 @@ void LoadHyruleTown(void) {
}
}
-extern EntityData gUnk_080EEBAC;
-
void sub_0804E130(void) {
if ((gSave.windcrests & 0x8000000) == 0) {
LoadRoomEntityList(&gUnk_080EEBAC);
@@ -4773,7 +4769,6 @@ u32 sub_0804E7D8() {
}
extern EntityData gUnk_080F31D8;
-extern u8 gUnk_02000070;
extern u32 gUnk_08009B30;
void sub_0804E7DC(void) {
@@ -5072,8 +5067,6 @@ void sub_0804EC00(void) {
}
}
-extern EntityData gUnk_080F4E10;
-
void sub_0804EC98(void) {
if ((s32)gSave.windcrests > -1) {
LoadRoomEntityList(&gUnk_080F4E10);
@@ -5207,8 +5200,6 @@ extern EntityData gUnk_080F5828;
extern EntityData gUnk_080F5848;
extern EntityData gUnk_080F5788;
-extern u8 gBombBagSizes[];
-
void sub_0804EEBC(void) {
LoadRoomEntityList(&gUnk_080F5758);
if (!GetInventoryValue(0x36) && CheckLocalFlagByOffset(0x200, 0x8f)) {
@@ -5516,8 +5507,6 @@ void sub_0804F25C(void) {
}
}
-extern EntityData gUnk_080F70D8;
-
void sub_0804F2C8(void) {
if ((gSave.windcrests & 0x40000000) == 0) {
LoadRoomEntityList(&gUnk_080F70D8);
@@ -6031,8 +6020,6 @@ void sub_0804FBBC(void) {
}
}
-extern EntityData gUnk_080F9304;
-
void sub_0804FBDC(void) {
if ((gSave.windcrests & 0x2000000) == 0) {
LoadRoomEntityList(&gUnk_080F9304);
@@ -6449,8 +6436,6 @@ void sub_0804FE58(void) {
}
}
-extern EntityData gUnk_080FB004;
-
void sub_0804FEAC(void) {
if ((gSave.windcrests & 0x1000000) == 0) {
LoadRoomEntityList(&gUnk_080FB004);
diff --git a/src/screenDebug.c b/src/screenDebug.c
index 2271e2b7..b0ce1fa6 100644
--- a/src/screenDebug.c
+++ b/src/screenDebug.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "dma.h"
#include "functions.h"
#include "main.h"
#include "menu.h"
@@ -23,8 +24,8 @@ void HandleDebugTextScreen() {
void sub_0805FA04(void) {
sub_0801DA90(1);
- MemClear32((void*)&gBG0Buffer, sizeof(BGBuffer));
- MemClear32((void*)&gBG3Buffer, 0x1000);
+ MemClear(&gBG0Buffer, sizeof(BGBuffer));
+ MemClear(&gBG3Buffer, 0x1000);
gScreen.lcd.displayControl = 0x940;
gScreen.bg.bg0xOffset = 0;
gScreen.bg.bg0yOffset = 0;
@@ -33,8 +34,8 @@ void sub_0805FA04(void) {
gScreen.affine.bg3Control = 0x1e0f;
gScreen.affine.bg3Updated = 1;
MessageInitialize();
- MemClear32((void*)&gUnk_02032EC0, sizeof(UI));
- MemClear32((void*)&gMenu, sizeof(Menu));
+ MemClear((void*)&gUnk_02032EC0, sizeof(UI));
+ MemClear((void*)&gMenu, sizeof(Menu));
gMenu.unk16 = gUnk_02000000->gameLanguage;
sub_08053320();
sub_0801D79C(0, 0x1144);
diff --git a/src/script.c b/src/script.c
index 494e0ae5..a686b371 100644
--- a/src/script.c
+++ b/src/script.c
@@ -5,6 +5,7 @@
#include "script.h"
#include "structures.h"
#include "textbox.h"
+#include "dma.h"
#include "functions.h"
#include "save.h"
@@ -187,9 +188,9 @@ extern ScriptExecutionContext gPlayerScriptExecutionContext;
extern ScriptExecutionContext gScriptExecutionContextArray[0x20];
void sub_0807DA70(void) {
- MemClear32(&gUnk_02033280, sizeof(gUnk_02033280));
- MemClear32(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray));
- MemClear32(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext));
+ MemClear(&gUnk_02033280, sizeof(gUnk_02033280));
+ MemClear(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray));
+ MemClear(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext));
gUnk_02033280.unk_08 = 8;
}
@@ -207,7 +208,7 @@ ScriptExecutionContext* CreateScriptExecutionContext(void) {
}
void DestroyScriptExecutionContext(ScriptExecutionContext* context) {
- MemClear32(context, sizeof(ScriptExecutionContext));
+ MemClear(context, sizeof(ScriptExecutionContext));
}
ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) {
@@ -237,7 +238,7 @@ void UnloadCutsceneData(Entity* entity) {
void StartPlayerScript(u16* unk1) {
Entity* player;
- MemClear32(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext));
+ MemClear(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext));
gPlayerScriptExecutionContext.unk_00 = unk1;
player = &gPlayerEntity;
*(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext;
@@ -260,7 +261,7 @@ ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) {
}
void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) {
- MemClear32(context, sizeof(ScriptExecutionContext));
+ MemClear(context, sizeof(ScriptExecutionContext));
context->unk_00 = unk1;
}
diff --git a/src/sub_0801D754.c b/src/sub_0801D754.c
index 8b1b2b20..a6f103f5 100644
--- a/src/sub_0801D754.c
+++ b/src/sub_0801D754.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "functions.h"
extern const u8 gUnk_020176E0[];
diff --git a/src/sub_0804AFF4.c b/src/sub_0804AFF4.c
index a7108fd6..bdd0cf50 100644
--- a/src/sub_0804AFF4.c
+++ b/src/sub_0804AFF4.c
@@ -2,42 +2,19 @@
extern void sub_080186EC();
extern u32* GetCurrentRoomProperty(u8);
-extern u32 _call_via_r0(u32*);
extern void sub_0804B16C();
void sub_0804AFF4(void) {
- u32* func;
+ void(*func)();
sub_080186EC();
- func = GetCurrentRoomProperty(5);
- if (func != NULL) {
- _call_via_r0(func);
+ func = (void(*)())GetCurrentRoomProperty(5);
+ if (func) {
+ func();
}
- func = GetCurrentRoomProperty(7);
- if (func != NULL) {
- _call_via_r0(func);
+ func = (void(*)())GetCurrentRoomProperty(7);
+ if (func) {
+ func();
}
sub_0804B16C();
- return;
}
-
-/*
- thumb_func_start sub_0804AFF4
-sub_0804AFF4: @ 0x0804AFF4
- push {lr}
- bl sub_080186EC
- movs r0, #5
- bl GetCurrentRoomProperty
- cmp r0, #0
- beq _0804B008
- bl _call_via_r0
-_0804B008:
- movs r0, #7
- bl GetCurrentRoomProperty
- cmp r0, #0
- beq _0804B016
- bl _call_via_r0
-_0804B016:
- bl sub_0804B16C
- pop {pc}
- */
diff --git a/src/sub_08050008.c b/src/sub_08050008.c
index 4fe0e197..59ace866 100644
--- a/src/sub_08050008.c
+++ b/src/sub_08050008.c
@@ -1,16 +1,10 @@
#include "global.h"
+#include "dma.h"
+#include "structures.h"
extern u32 gUnk_020354C0;
-extern s32 gFadeControl;
-extern void MemClear32(u32, u32, u32);
-void sub_08050008(u32 param_1, u32 param_2, u32 param_3) {
- s32* unk;
-
- MemClear32((u32)&gUnk_020354C0, 128, param_3);
-
- unk = &gFadeControl;
- *(unk + 1) = -1;
-
- return;
+void sub_08050008() {
+ MemClear(&gUnk_020354C0, 128);
+ gFadeControl.field_0x4 = -1;
}
diff --git a/src/sub_08050024.c b/src/sub_08050024.c
index b6915ab9..fe77e3d0 100644
--- a/src/sub_08050024.c
+++ b/src/sub_08050024.c
@@ -12,13 +12,9 @@ extern struct_03000000 gUnk_03000000;
extern u32 gUsedPalettes;
-extern void sub_0801E104();
-extern void DoFade(u32, u32);
-
void sub_08050024() {
sub_0801E104();
DoFade(5, 0x80 << 1);
- return;
}
void sub_08050038(u32 arg0) {
diff --git a/src/sub_08055E08.c b/src/sub_08055E08.c
index 40c1f812..1b97f26f 100644
--- a/src/sub_08055E08.c
+++ b/src/sub_08055E08.c
@@ -3,7 +3,6 @@
#include "room.h"
#include "functions.h"
-extern u32* _call_via_r0(u32* func);
extern void (*const gUnk_080FF420[])();
extern void sub_0804B0B0(u32, u32);
extern void sub_08055B70(u32, u32, u32, u32);
diff --git a/src/sub_0805E374.c b/src/sub_0805E374.c
index 5767e6da..e035ce07 100644
--- a/src/sub_0805E374.c
+++ b/src/sub_0805E374.c
@@ -1,10 +1,12 @@
#include "entity.h"
+#include "structures.h"
+
extern Entity* sub_0805E3A0(Entity*, u32);
-extern u8 gScreenTransition[];
extern u8 gUnk_081091F8[];
extern u8 gUnk_081091EE[];
+
Entity* sub_0805E374(Entity* param_1) {
- u8 r3 = gScreenTransition[0x2C];
+ u8 r3 = gScreenTransition.field_0x24[8];
u8* array = gUnk_081091F8;
if (r3 != '\x02') {
diff --git a/src/sub_0806F9EC.c b/src/sub_0806F9EC.c
index 9f029530..8c3f17fb 100644
--- a/src/sub_0806F9EC.c
+++ b/src/sub_0806F9EC.c
@@ -1,13 +1,11 @@
#include "global.h"
-s32 sub_0806F9EC(s16 param_1, s16 param_2)
+s32 sub_0806F9EC(s16 unk_1, s16 unk_2) {
+ int temp;
-{
- int iVar1;
-
- iVar1 = (s32)param_1 * (s32)param_2;
- if (iVar1 < 0) {
- iVar1 = iVar1 + 255;
+ temp = (s32)unk_1 * (s32)unk_2;
+ if (temp < 0) {
+ temp = temp + 255;
}
- return (iVar1 << 8) >> 16;
+ return (temp << 8) >> 16;
}
diff --git a/src/sub_0806FA04.c b/src/sub_0806FA04.c
index a7eb191a..75d421be 100644
--- a/src/sub_0806FA04.c
+++ b/src/sub_0806FA04.c
@@ -1,15 +1,11 @@
#include "global.h"
-extern s32 __divsi3(s32, s32);
-
-s16 sub_0806FA04(s16 param_1, s16 param_2)
-
-{
+s16 sub_0806FA04(s16 param_1, s16 param_2) {
s16 sVar1;
s32 iVar2;
if (param_2 != 0) {
- sVar1 = __divsi3((param_1 << 16) >> 8, param_2);
+ sVar1 = ((param_1 << 16) >> 8) / param_2;
iVar2 = sVar1;
} else {
iVar2 = 0;
diff --git a/src/sub_0806FA24.c b/src/sub_0806FA24.c
deleted file mode 100644
index de614717..00000000
--- a/src/sub_0806FA24.c
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#include "global.h"
-#include "entity.h"
-void PositionRelative(Entity*, Entity*, s32, s32);
-
-void CopyPosition(Entity* param_1, Entity* param_2)
-
-{
- PositionRelative(param_1, param_2, 0, 0);
-}
diff --git a/src/sub_0807B7D8.c b/src/sub_0807B7D8.c
index 7ef8b080..7a8a68fc 100644
--- a/src/sub_0807B7D8.c
+++ b/src/sub_0807B7D8.c
@@ -1,12 +1,10 @@
#include "global.h"
+#include "functions.h"
extern void sub_08000152(u32);
extern void sub_0807B778(u32, u32);
-extern void SetTileType(u32, u32, u32);
-void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3)
-
-{
+void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3) {
if (param_1 == 53) {
sub_08000152(53);
sub_0807B778(param_2, param_3);
@@ -17,5 +15,4 @@ void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3)
} else {
SetTileType(param_1, param_2, param_3);
}
- return;
}
diff --git a/src/sub_0807B820.c b/src/sub_0807B820.c
index b8ae309d..54b94849 100644
--- a/src/sub_0807B820.c
+++ b/src/sub_0807B820.c
@@ -1,10 +1,7 @@
#include "global.h"
+#include "functions.h"
-extern void SetTileType(u32, u32, u32);
-
-void sub_0807B820(u32 param_1)
-
-{
+void sub_0807B820(u32 param_1) {
SetTileType(620, param_1 + -65, 1);
SetTileType(627, param_1 + -65, 2);
SetTileType(621, param_1 + -64, 1);
@@ -14,5 +11,4 @@ void sub_0807B820(u32 param_1)
SetTileType(623, param_1 + -1, 1);
SetTileType(624, param_1, 1);
SetTileType(626, param_1 + 1, 1);
- return;
}
diff --git a/src/sub_0807B8A8.c b/src/sub_0807B8A8.c
index 5c008ad2..f0524685 100644
--- a/src/sub_0807B8A8.c
+++ b/src/sub_0807B8A8.c
@@ -1,10 +1,7 @@
#include "global.h"
+#include "functions.h"
-extern void SetTileType(u32, u32, u32);
-
-void sub_0807B8A8(u32 param_1)
-
-{
+void sub_0807B8A8(u32 param_1) {
SetTileType(636, param_1 + -65, 1);
SetTileType(643, param_1 + -65, 2);
SetTileType(637, param_1 + -64, 1);
@@ -14,5 +11,4 @@ void sub_0807B8A8(u32 param_1)
SetTileType(639, param_1 + -1, 1);
SetTileType(640, param_1, 1);
SetTileType(642, param_1 + 1, 1);
- return;
}
diff --git a/src/sub_0807B930.c b/src/sub_0807B930.c
index aae0472c..6ad13448 100644
--- a/src/sub_0807B930.c
+++ b/src/sub_0807B930.c
@@ -1,10 +1,7 @@
#include "global.h"
+#include "functions.h"
-extern void SetTileType(u32, u32, u32);
-
-void sub_0807B930(int param_1)
-
-{
+void sub_0807B930(int param_1) {
SetTileType(652, param_1 + -65, 1);
SetTileType(659, param_1 + -65, 2);
SetTileType(653, param_1 + -64, 1);
@@ -14,5 +11,4 @@ void sub_0807B930(int param_1)
SetTileType(655, param_1 + -1, 1);
SetTileType(656, param_1, 1);
SetTileType(658, param_1 + 1, 1);
- return;
}
diff --git a/src/textbox.c b/src/textbox.c
index 8e962960..262560c4 100644
--- a/src/textbox.c
+++ b/src/textbox.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "room.h"
#include "entity.h"
+#include "dma.h"
#include "functions.h"
#include "textbox.h"
#include "structures.h"
@@ -83,7 +84,7 @@ void TextboxAtPosition(u32 index, u32 x, u32 y) {
}
void ShowTextbox(u32 index) {
- MemClear32(&gTextBox, 32);
+ MemClear(&gTextBox, 32);
gTextBox.textIndex = index;
gTextBox.textSpeed = 99;
gTextBox.textWindowWidth = 26;
@@ -94,18 +95,18 @@ void ShowTextbox(u32 index) {
}
void MessageInitialize(void) {
- MemClear32(&gTextBox, 32);
- MemClear32(&gUnk_02022780, 168);
- MemClear32(&gUnk_02036A40, 8);
- MemClear32(&gUnk_02036A38, 8);
- MemClear32(&gUnk_02000040, 4);
+ MemClear(&gTextBox, 32);
+ MemClear(&gUnk_02022780, 168);
+ MemClear(&gUnk_02036A40, 8);
+ MemClear(&gUnk_02036A38, 8);
+ MemClear(&gUnk_02000040, 4);
}
void MessageUpdate(void) {
int iVar1;
if (gTextBox.doTextBox == 1) {
- MemClear32((u32*)&gUnk_02022780, sizeof(gUnk_02022780));
+ MemClear((u32*)&gUnk_02022780, sizeof(gUnk_02022780));
sub_080564C8(1);
}
@@ -141,9 +142,9 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) {
u32 i;
char c;
- MemClear32((void*)&gUnk_02036A40, 8);
- MemClear32((void*)&gUnk_02024030, 0x18);
- MemClear32((void*)&gUnk_02022780, 0xa8);
+ MemClear((void*)&gUnk_02036A40, 8);
+ MemClear((void*)&gUnk_02024030, 0x18);
+ MemClear((void*)&gUnk_02022780, 0xa8);
MemCopy(&gTextBox, &gUnk_02022780, 32);
if (gUnk_02022780._2 == 0x63) {
gUnk_02022780._2 = gUnk_02000000->messageSpeed;