diff options
Diffstat (limited to 'src')
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) { @@ -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; @@ -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) { @@ -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*); @@ -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(); @@ -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; |
