From d6c379cb3e9dfe45a87e9531573e3397083099f6 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 9 Mar 2021 04:22:03 +0100 Subject: [PATCH 1/5] big cleanup part 1 --- asm/bigGoron.s | 2 +- asm/code_08018500.s | 2 +- asm/code_0801C370.s | 6 +-- asm/code_0801CEC0.s | 2 +- asm/code_0801D79C.s | 24 +++++----- asm/code_0804B9F8.s | 4 +- asm/code_080526F8.s | 16 +++---- asm/code_08056418.s | 6 +-- asm/code_0805E3B0.s | 6 +-- asm/code_0805EC04.s | 8 ++-- asm/code_0806ED78.s | 2 +- asm/code_0806FA6C.s | 6 +-- asm/code_080732D0.s | 2 +- asm/code_08077B98.s | 2 +- asm/code_08078778.s | 4 +- asm/code_0807B9B8.s | 26 +++++------ asm/code_0807F0D8.s | 8 ++-- asm/code_080A29BC.s | 2 +- asm/code_080A3480.s | 10 ++--- asm/code_080A3BD0.s | 26 +++++------ asm/code_080A5574.s | 24 +++++----- asm/code_080AD90C.s | 8 ++-- asm/fileScreen.s | 14 +++--- asm/gyorgFemale.s | 10 ++--- asm/manager10.s | 2 +- asm/manager2C.s | 2 +- asm/non_matching/arm_proxy/ItemInit.inc | 2 +- asm/non_matching/arm_proxy/sub_08017530.inc | 2 +- asm/non_matching/arm_proxy/sub_0801766C.inc | 2 +- asm/non_matching/arm_proxy/sub_080176E4.inc | 2 +- asm/non_matching/arm_proxy/sub_08017744.inc | 2 +- asm/non_matching/arm_proxy/sub_080177A0.inc | 2 +- asm/non_matching/fileScreen/sub_08050EF4.inc | 2 +- asm/non_matching/fileScreen/sub_08051738.inc | 2 +- asm/non_matching/fileScreen/sub_080517B4.inc | 2 +- asm/non_matching/fileScreen/sub_080610B8.inc | 2 +- asm/non_matching/game/sub_08052418.inc | 4 +- asm/non_matching/gibdo/sub_080376D0.inc | 2 +- asm/non_matching/gibdo/sub_08037810.inc | 2 +- asm/non_matching/gibdo/sub_0803797C.inc | 2 +- asm/non_matching/save/sub_08050B3C.inc | 2 +- asm/non_matching/sub_080560B8.inc | 2 +- asm/non_matching/textbox/sub_080564EC.inc | 8 ++-- asm/object3D.s | 2 +- include/dma.h | 9 ++++ include/enemy.h | 1 - include/entity.h | 17 +++---- include/functions.h | 23 ---------- include/gba/macro.h | 14 +++--- include/global.h | 8 ++-- include/greatFairy.h | 25 ++--------- include/item.h | 17 ------- include/npc.h | 4 -- include/structures.h | 3 +- src/arm_proxy.c | 5 ++- src/code_080300AC.c | 7 ++- src/code_0804AA84.c | 5 +-- src/code_0805F9A0.c | 3 +- src/code_08077DF4.c | 3 +- src/code_0808091C.c | 3 -- src/createEnemy.c | 4 +- src/createNPC.c | 22 +++++---- src/createObject.c | 23 +++++----- src/dma.c | 33 +++++++------- src/enemy/acroBandits.c | 4 -- src/enemy/beetle.c | 2 +- src/enemy/bladeTrap.c | 3 +- src/enemy/bombPeahat.c | 3 -- src/enemy/bowMoblin.c | 8 ++-- src/enemy/chuchuBoss.c | 4 -- src/enemy/gyorgMale.c | 1 - src/enemy/keaton.c | 8 ++-- src/enemy/keese.c | 7 --- src/enemy/lakitu.c | 47 -------------------- src/enemy/lakituCloud.c | 10 +---- src/enemy/leever.c | 6 --- src/enemy/likeLike.c | 1 - src/enemy/miniFireballGuy.c | 4 -- src/enemy/miniSlime.c | 3 -- src/enemy/octorok.c | 8 ---- src/enemy/pesto.c | 2 - src/enemy/puffstool.c | 1 - src/enemy/slime.c | 3 -- src/enemy/smallPesto.c | 15 ++----- src/enemy/spearMoblin.c | 1 - src/enemy/tektite.c | 4 -- src/enemy/vaatiBall.c | 2 - src/enemy/wallMaster2.c | 1 - src/entity.c | 10 ++--- src/fileScreen.c | 26 +++++------ src/game.c | 10 ++--- src/intro.c | 6 +-- src/item.c | 5 +-- src/item11.c | 3 +- src/loadRoom.c | 3 +- src/main.c | 7 +-- src/manager/manager1.c | 3 +- src/manager/manager15.c | 2 - src/manager/manager1A.c | 5 +-- src/manager/manager1E.c | 1 - src/manager/manager2.c | 2 +- src/manager/manager20.c | 5 +-- src/manager/manager27.c | 1 - src/manager/manager28.c | 1 - src/manager/manager30.c | 2 - src/manager/manager39.c | 7 ++- src/manager/manager4.c | 5 +-- src/manager/manager5.c | 2 - src/manager/manager6.c | 7 +-- src/manager/manager7.c | 3 -- src/manager/manager8.c | 2 - src/manager/manager9.c | 1 - src/manager/managerA.c | 9 +--- src/manager/managerB.c | 3 +- src/manager/managerC.c | 5 +-- src/manager/managerE.c | 8 +--- src/npc/anju.c | 12 ++--- src/npc/bigGoron.c | 6 --- src/npc/carlov.c | 3 +- src/npc/carpenter.c | 12 +---- src/npc/cow.c | 11 ----- src/npc/dampe.c | 9 +--- src/npc/emma.c | 23 +++------- src/npc/ezloCap.c | 1 - src/npc/festari.c | 4 -- src/npc/forestMinish.c | 10 ----- src/npc/gentari.c | 10 +---- src/npc/guard.c | 18 ++------ src/npc/mailbox.c | 2 +- src/npc/malon.c | 2 - src/npc/mayorHagen.c | 8 ---- src/npc/melari.c | 11 ----- src/npc/milkCart.c | 3 +- src/npc/moblinLady.c | 4 +- src/npc/mutoh.c | 9 ---- src/npc/npc9.c | 6 +-- src/npc/percy.c | 1 - src/npc/postman.c | 12 ----- src/npc/rem.c | 2 - src/npc/simon.c | 3 -- src/npc/smith.c | 12 ----- src/npc/stamp.c | 6 --- src/npc/syrup.c | 12 ++--- src/npc/teachers.c | 7 --- src/npc/townMinish.c | 5 --- src/npc/townsperson.c | 11 ----- src/npc/wheaton.c | 6 +-- src/npc/windTribespeople.c | 9 ---- src/npc/zelda.c | 9 ---- src/object/archway.c | 3 +- src/object/bell.c | 2 +- src/object/button.c | 7 +-- src/object/cloud.c | 13 ------ src/object/fileScreenObjects.c | 3 -- src/object/giantLeaf.c | 3 +- src/object/greatFairy.c | 3 +- src/object/heartContainer.c | 3 -- src/object/jailBars.c | 2 +- src/object/lightableSwitch.c | 3 -- src/object/mask.c | 22 +++------ src/object/metalDoor.c | 5 +-- src/object/minecart.c | 1 - src/object/minishSizedEntrance.c | 5 +-- src/object/object1C.c | 1 - src/object/object1D.c | 2 - src/object/object49.c | 1 - src/object/object7E.c | 2 +- src/object/object86.c | 3 +- src/object/object9E.c | 4 +- src/object/objectA8.c | 8 +--- src/object/objectAF.c | 1 + src/object/objectB2.c | 2 +- src/object/pinwheel.c | 3 +- src/object/pot.c | 2 - src/object/railtrack.c | 3 +- src/object/smoke.c | 2 - src/object/thoughtBubble.c | 6 +-- src/object/treeHidingPortal.c | 8 ++-- src/object/well.c | 6 +-- src/object/windcrest.c | 4 -- src/playerItem.c | 4 +- src/room.c | 15 ------- src/screenDebug.c | 9 ++-- src/script.c | 13 +++--- src/sub_0801D754.c | 1 + src/sub_0804AFF4.c | 37 +++------------ src/sub_08050008.c | 16 +++---- src/sub_08050024.c | 4 -- src/sub_08055E08.c | 1 - src/sub_0805E374.c | 6 ++- src/sub_0806F9EC.c | 14 +++--- src/sub_0806FA04.c | 8 +--- src/sub_0806FA24.c | 10 ----- src/sub_0807B7D8.c | 7 +-- src/sub_0807B820.c | 8 +--- src/sub_0807B8A8.c | 8 +--- src/sub_0807B930.c | 8 +--- src/textbox.c | 21 ++++----- 198 files changed, 398 insertions(+), 973 deletions(-) create mode 100644 include/dma.h delete mode 100644 src/sub_0806FA24.c diff --git a/asm/bigGoron.s b/asm/bigGoron.s index a83c056b..2c6fdfdc 100644 --- a/asm/bigGoron.s +++ b/asm/bigGoron.s @@ -95,7 +95,7 @@ sub_0806D0B0: @ 0x0806D0B0 movs r1, #0x80 lsls r1, r1, #6 adds r0, r5, #0 - bl MemClear32 + bl MemClear cmp r4, #0 beq _0806D0DA adds r0, r4, #0 diff --git a/asm/code_08018500.s b/asm/code_08018500.s index 182c60f8..bec8ac59 100644 --- a/asm/code_08018500.s +++ b/asm/code_08018500.s @@ -58,7 +58,7 @@ sub_0801855C: @ 0x0801855C ldr r4, _08018570 @ =gUnk_02033AB8 adds r0, r4, #0 movs r1, #0x14 - bl MemClear32 + bl MemClear adds r5, r4, #0 ldr r4, _08018574 @ =gUnk_080B3D20 movs r6, #0 diff --git a/asm/code_0801C370.s b/asm/code_0801C370.s index 8ca381af..88b5614f 100644 --- a/asm/code_0801C370.s +++ b/asm/code_0801C370.s @@ -32,7 +32,7 @@ _0801C398: movs r1, #0xcd lsls r1, r1, #2 adds r0, r5, #0 - bl MemClear32 + bl MemClear strb r6, [r5, #3] strh r4, [r5, #0xe] ldr r0, _0801C474 @ =gSave @@ -48,7 +48,7 @@ _0801C398: movs r1, #0x80 lsls r1, r1, #4 adds r0, r4, #0 - bl MemClear32 + bl MemClear ldr r1, _0801C47C @ =gScreen str r4, [r1, #0x10] ldr r0, _0801C480 @ =0x00001F0C @@ -93,7 +93,7 @@ _0801C398: adds r0, #0x34 movs r1, #0xc0 lsls r1, r1, #2 - bl MemClear32 + bl MemClear movs r0, #5 movs r1, #9 bl sub_0801CA6C diff --git a/asm/code_0801CEC0.s b/asm/code_0801CEC0.s index 95184820..bfdab8a3 100644 --- a/asm/code_0801CEC0.s +++ b/asm/code_0801CEC0.s @@ -12,7 +12,7 @@ sub_0801CFA8: @ 0x0801CFA8 adds r5, r0, #0 ldr r0, _0801CFCC @ =gUnk_02001A00 movs r1, #0x40 - bl MemClear32 + bl MemClear movs r4, #0 _0801CFB6: adds r0, r4, #0 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 6ac7a011..f1aab2ca 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -203,7 +203,7 @@ _0801D9D8: strh r0, [r3] adds r0, r4, #0 mov r1, ip - bl MemClear32 + bl MemClear adds r0, r4, #0 b _0801DA02 .align 2, 0 @@ -282,7 +282,7 @@ zMallocInit: @ 0x0801DA7C ldr r0, _0801DA8C @ =gzHeap movs r1, #0x80 lsls r1, r1, #5 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _0801DA8C: .4byte gzHeap @@ -323,11 +323,11 @@ sub_0801DA90: @ 0x0801DA90 bl sub_0801DB34 ldr r0, _0801DB08 @ =0x0600C000 movs r1, #0x20 - bl MemClear32 + bl MemClear ldr r0, _0801DB0C @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear strh r4, [r5, #0xe] pop {r4, r5, pc} .align 2, 0 @@ -369,7 +369,7 @@ sub_0801DB34: @ 0x0801DB34 ldr r4, _0801DB6C @ =gScreen adds r0, r4, #0 movs r1, #0x7c - bl MemClear32 + bl MemClear ldr r0, _0801DB70 @ =gBG0Buffer str r0, [r4, #0x10] ldr r0, _0801DB74 @ =0x00001F0C @@ -424,7 +424,7 @@ sub_0801DBA0: @ 0x0801DBA0 adds r5, r1, #0 adds r1, r2, #0 adds r0, r5, #0 - bl MemClear32 + bl MemClear movs r0, #1 strb r0, [r5] ldr r2, _0801DBE4 @ =gScreenTransition @@ -699,7 +699,7 @@ _0801DDB8: ldr r0, _0801DDE0 @ =gUnk_02019EE0 movs r1, #0x80 lsls r1, r1, #8 - bl MemClear32 + bl MemClear b _0801DEE2 .align 2, 0 _0801DDD8: .4byte gUnk_080C9C50 @@ -968,7 +968,7 @@ sub_0801DFB4: @ 0x0801DFB4 ldr r7, _0801E004 @ =gUnk_02022740 adds r0, r7, #0 movs r1, #0x10 - bl MemClear32 + bl MemClear strh r4, [r7, #6] strh r5, [r7, #8] strh r6, [r7, #0xa] @@ -1209,7 +1209,7 @@ sub_0801E160: @ 0x0801E160 adds r0, r0, r4 movs r1, #0xa0 lsls r1, r1, #4 - bl MemClear32 + bl MemClear adds r0, r6, #0 mov r1, r8 mov r2, sb @@ -1279,7 +1279,7 @@ sub_0801E1EC: @ 0x0801E1EC adds r0, r0, r5 movs r1, #0xa0 lsls r1, r1, #4 - bl MemClear32 + bl MemClear adds r0, r4, #0 movs r1, #0 bl sub_0801E24C @@ -1443,7 +1443,7 @@ sub_0801E31C: @ 0x0801E31C adds r0, r0, r1 movs r1, #0xa0 lsls r1, r1, #4 - bl MemClear32 + bl MemClear cmp sl, sb bge _0801E3DC movs r6, #0 @@ -1738,7 +1738,7 @@ sub_0801E49C: @ 0x0801E49C adds r0, r0, r6 movs r1, #0xa0 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r2, _0801E5E8 @ =gUnk_02018EE0 ldrb r1, [r5] lsls r0, r1, #2 diff --git a/asm/code_0804B9F8.s b/asm/code_0804B9F8.s index 6ee254e6..a564376f 100644 --- a/asm/code_0804B9F8.s +++ b/asm/code_0804B9F8.s @@ -50,10 +50,10 @@ sub_0804FFE4: @ 0x0804FFE4 ldr r4, _08050000 @ =gFadeControl adds r0, r4, #0 movs r1, #0x1c - bl MemClear32 + bl MemClear ldr r0, _08050004 @ =gUnk_020354C0 movs r1, #0x80 - bl MemClear32 + bl MemClear movs r0, #1 rsbs r0, r0, #0 str r0, [r4, #4] diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 9f1662ed..f48e865c 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -791,7 +791,7 @@ sub_08052CFC: @ 0x08052CFC ldr r4, _08052D44 @ =gArea ldr r1, _08052D48 @ =0x00000894 adds r0, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _08052D4C @ =gRoomControls ldrb r1, [r0, #4] lsls r1, r1, #2 @@ -996,7 +996,7 @@ sub_08052EA0: @ 0x08052EA0 ldr r4, _08052EE4 @ =gRoomVars adds r0, r4, #0 movs r1, #0xcc - bl MemClear32 + bl MemClear movs r0, #0xff strb r0, [r4, #0x10] strb r0, [r4, #0x11] @@ -1178,7 +1178,7 @@ sub_08052FF4: @ 0x08052FF4 ldr r5, _08053074 @ =gUnk_020342CC adds r0, r5, #0 movs r1, #0x20 - bl MemClear32 + bl MemClear str r5, [r5, #0x20] ldr r0, _08053078 @ =gAreaRoomHeaders lsls r6, r6, #2 @@ -1570,17 +1570,17 @@ sub_08053320: @ 0x08053320 movs r4, #0x80 lsls r4, r4, #4 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _08053380 @ =gBG1Buffer adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _08053384 @ =gBG2Buffer adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _08053388 @ =gBG3Buffer movs r1, #0x80 lsls r1, r1, #5 - bl MemClear32 + bl MemClear movs r0, #0x10 bl LoadGfxGroup movs r0, #0x17 @@ -2222,7 +2222,7 @@ sub_08053800: @ 0x08053800 ldr r0, _08053888 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r0, _0805388C @ =0x00000F01 adds r5, r5, r0 ldr r1, [r4] diff --git a/asm/code_08056418.s b/asm/code_08056418.s index 97457697..144005f4 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -267,11 +267,11 @@ _080568B2: beq _080568D2 adds r0, r6, #0 movs r1, #4 - bl MemClear32 + bl MemClear ldr r4, _08056910 @ =gUnk_02024030 adds r0, r4, #0 movs r1, #0x18 - bl MemClear32 + bl MemClear movs r0, #1 strb r0, [r4] strb r0, [r6] @@ -472,7 +472,7 @@ _08056A30: movs r1, #3 strb r1, [r2] movs r1, #0x18 - bl MemClear32 + bl MemClear movs r0, #0x6a bl SoundReq adds r1, r6, #0 diff --git a/asm/code_0805E3B0.s b/asm/code_0805E3B0.s index ba150ef6..5a0336df 100644 --- a/asm/code_0805E3B0.s +++ b/asm/code_0805E3B0.s @@ -360,15 +360,15 @@ EraseAllEntities: @ 0x0805E60C bl DeleteAllEntities ldr r0, _0805E654 @ =gUnk_03003DC0 movs r1, #0xc - bl MemClear32 + bl MemClear ldr r0, _0805E658 @ =gPlayerEntity movs r1, #0xaa lsls r1, r1, #6 - bl MemClear32 + bl MemClear ldr r0, _0805E65C @ =gUnk_02033290 movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear bl sub_0805E98C ldr r0, _0805E660 @ =gEntCount movs r1, #0 diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index 45cad29a..6c8dc59f 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -751,7 +751,7 @@ _0805F2D0: bne _0805F2F0 adds r0, r5, #0 movs r1, #0xc - bl MemClear32 + bl MemClear ldrb r0, [r4] movs r1, #1 orrs r0, r1 @@ -781,7 +781,7 @@ _0805F308: cmp r0, r2 bne _0805F318 movs r1, #0xc - bl MemClear32 + bl MemClear b _0805F320 .align 2, 0 _0805F314: .4byte gUnk_02036540 @@ -944,7 +944,7 @@ sub_0805F440: @ 0x0805F440 adds r4, r0, #0 adds r5, r1, #0 movs r1, #0x30 - bl MemClear32 + bl MemClear ldr r0, _0805F45C @ =0x0000FFFF cmp r5, r0 bls _0805F460 @@ -1122,7 +1122,7 @@ _0805F596: _0805F59E: ldr r0, _0805F5C8 @ =gUnk_02034330 movs r1, #0x18 - bl MemClear32 + bl MemClear _0805F5A6: mov r0, sb mov r1, sp diff --git a/asm/code_0806ED78.s b/asm/code_0806ED78.s index 264756c7..17534c87 100644 --- a/asm/code_0806ED78.s +++ b/asm/code_0806ED78.s @@ -842,7 +842,7 @@ sub_0806F364: @ 0x0806F364 adds r1, r2, r3 adds r0, r0, r1 movs r1, #0x10 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _0806F384: .4byte gArea diff --git a/asm/code_0806FA6C.s b/asm/code_0806FA6C.s index 81ff4789..aaccef6b 100644 --- a/asm/code_0806FA6C.s +++ b/asm/code_0806FA6C.s @@ -385,7 +385,7 @@ sub_0806FD8C: @ 0x0806FD8C ldr r0, _0806FD9C @ =gUnk_020000C0 movs r1, #0xc0 lsls r1, r1, #4 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _0806FD9C: .4byte gUnk_020000C0 @@ -534,7 +534,7 @@ _0806FE9E: bls _0806FE9E adds r0, r6, #0 movs r1, #0x40 - bl MemClear32 + bl MemClear _0806FEB4: pop {r4, r5, r6, pc} .align 2, 0 @@ -1454,7 +1454,7 @@ sub_0807059C: @ 0x0807059C push {lr} ldr r0, _080705A8 @ =gUnk_02034490 movs r1, #0x18 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _080705A8: .4byte gUnk_02034490 diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index 9ce6bf12..351c8adf 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -4198,7 +4198,7 @@ sub_080751E8: @ 0x080751E8 ldr r4, _08075230 @ =gPlayerScriptExecutionContext adds r0, r4, #0 movs r1, #0x24 - bl MemClear32 + bl MemClear str r6, [r4] ldr r0, _08075234 @ =gPlayerEntity adds r0, #0x84 diff --git a/asm/code_08077B98.s b/asm/code_08077B98.s index b6c78cf4..75eb2a4b 100644 --- a/asm/code_08077B98.s +++ b/asm/code_08077B98.s @@ -642,7 +642,7 @@ sub_080784C8: @ 0x080784C8 movs r1, #0xc4 lsls r1, r1, #1 adds r0, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080784E0 @ =gUnk_0811C000 str r0, [r4, #4] pop {r4, pc} diff --git a/asm/code_08078778.s b/asm/code_08078778.s index e1ddb07e..4ddd1109 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -70,7 +70,7 @@ sub_080788E0: @ 0x080788E0 ldr r1, _08078900 @ =gUnk_03003DF8 adds r0, r0, r1 movs r1, #0xc - bl MemClear32 + bl MemClear _080788FC: pop {pc} .align 2, 0 @@ -542,7 +542,7 @@ sub_08078C24: @ 0x08078C24 ldr r0, _08078CB0 @ =gUnk_03003DF0 movs r1, #0xc4 lsls r1, r1, #1 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _08078CAC: .4byte gPlayerState diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 393c255c..59896509 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -948,19 +948,19 @@ sub_0807C0DC: @ 0x0807C0DC lsls r6, r6, #6 adds r0, r5, #0 adds r1, r6, #0 - bl MemClear32 + bl MemClear adds r0, r5, r6 movs r1, #0x80 lsls r1, r1, #5 - bl MemClear32 + bl MemClear ldr r0, _0807C160 @ =gUnk_02019EE0 movs r4, #0x80 lsls r4, r4, #8 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _0807C164 @ =gMapDataTopSpecial adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _0807C168 @ =gArea ldr r1, _0807C16C @ =0x0000085C adds r0, r0, r1 @@ -999,7 +999,7 @@ _0807C174: .4byte 0x0000FFFF _0807C178: adds r0, r2, #4 adds r1, r6, #0 - bl MemClear32 + bl MemClear movs r3, #1 mov sb, r3 _0807C184: @@ -1167,7 +1167,7 @@ _0807C2E4: bl sub_0807C5F4 adds r0, r5, #0 adds r1, r6, #0 - bl MemClear32 + bl MemClear ldr r4, _0807C350 @ =gMapDataTopSpecial adds r5, r4, r6 adds r0, r4, #0 @@ -1179,7 +1179,7 @@ _0807C2E4: bl sub_0807C5F4 adds r0, r5, #0 adds r1, r6, #0 - bl MemClear32 + bl MemClear _0807C326: mov r1, sb cmp r1, #0 @@ -1406,10 +1406,10 @@ sub_0807C4F8: @ 0x0807C4F8 movs r4, #0x80 lsls r4, r4, #8 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _0807C59C @ =gMapDataTopSpecial adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r5, _0807C5A0 @ =gUnk_02022830 ldr r0, _0807C5A4 @ =gArea ldr r1, _0807C5A8 @ =0x0000085C @@ -1455,7 +1455,7 @@ _0807C54A: bl sub_0807C5F4 adds r0, r5, #0 adds r1, r6, #0 - bl MemClear32 + bl MemClear ldr r4, _0807C59C @ =gMapDataTopSpecial adds r5, r4, r6 adds r0, r4, #0 @@ -1467,7 +1467,7 @@ _0807C54A: bl sub_0807C5F4 adds r0, r5, #0 adds r1, r6, #0 - bl MemClear32 + bl MemClear _0807C592: pop {r4, r5, r6, pc} .align 2, 0 @@ -1694,7 +1694,7 @@ _0807C710: _0807C726: adds r0, r4, #0 movs r1, #0x40 - bl MemClear32 + bl MemClear adds r4, #0x40 adds r5, #1 cmp r5, r7 @@ -1984,7 +1984,7 @@ _0807C92E: _0807C946: adds r0, r4, #0 movs r1, #0x80 - bl MemClear32 + bl MemClear adds r4, #0x80 adds r5, #1 cmp r5, r6 diff --git a/asm/code_0807F0D8.s b/asm/code_0807F0D8.s index 11f24fbc..58926192 100644 --- a/asm/code_0807F0D8.s +++ b/asm/code_0807F0D8.s @@ -2934,11 +2934,11 @@ sub_08080668: @ 0x08080668 ldr r5, _080806A4 @ =gRoomControls adds r0, r5, #0 movs r1, #0x38 - bl MemClear32 + bl MemClear ldr r4, _080806A8 @ =gUnk_03004030 adds r0, r4, #0 movs r1, #0xc - bl MemClear32 + bl MemClear ldr r0, _080806AC @ =0x0000FFFF strh r0, [r5, #0x22] movs r0, #0xff @@ -2950,10 +2950,10 @@ sub_08080668: @ 0x08080668 movs r4, #0x80 lsls r4, r4, #8 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080806B8 @ =gMapDataTopSpecial adds r1, r4, #0 - bl MemClear32 + bl MemClear pop {r4, r5, pc} .align 2, 0 _080806A4: .4byte gRoomControls diff --git a/asm/code_080A29BC.s b/asm/code_080A29BC.s index e5f4bf59..09c4ea72 100644 --- a/asm/code_080A29BC.s +++ b/asm/code_080A29BC.s @@ -995,7 +995,7 @@ sub_080A3210: @ 0x080A3210 ldr r4, _080A3230 @ =gUnk_02021EE0 adds r0, r4, #0 movs r1, #0x18 - bl MemClear32 + bl MemClear bl sub_080A35C8 movs r0, #0x80 lsls r0, r0, #1 diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index a8e21e41..a30dd9c2 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -354,7 +354,7 @@ sub_080A36F8: @ 0x080A36F8 ldr r0, _080A3760 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r1, _080A3764 @ =gScreen movs r2, #0 movs r0, #1 @@ -410,7 +410,7 @@ _080A378A: ldr r0, _080A37B8 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear movs r1, #0x10 ldrsh r0, [r4, r1] ldr r2, _080A37BC @ =gUnk_081272E0 @@ -580,7 +580,7 @@ sub_080A38D0: @ 0x080A38D0 movs r6, #0x80 lsls r6, r6, #4 adds r1, r6, #0 - bl MemClear32 + bl MemClear ldr r4, _080A3924 @ =gScreen movs r0, #0 mov r8, r0 @@ -588,7 +588,7 @@ sub_080A38D0: @ 0x080A38D0 strh r5, [r4, #0x1a] ldr r0, _080A3928 @ =gBG2Buffer adds r1, r6, #0 - bl MemClear32 + bl MemClear strh r5, [r4, #0x26] adds r4, #0x68 movs r0, #0x80 @@ -712,7 +712,7 @@ _080A39C8: movs r0, #0xc0 lsls r0, r0, #0x13 movs r1, #0x20 - bl MemClear32 + bl MemClear movs r0, #0 movs r1, #0 bl sub_08052418 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 18beb360..08159cb0 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -935,7 +935,7 @@ sub_080A4398: @ 0x080A4398 push {lr} ldr r0, _080A43A4 @ =gUnk_02019EE0 movs r1, #0x40 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _080A43A4: .4byte gUnk_02019EE0 @@ -1119,7 +1119,7 @@ sub_080A44E0: @ 0x080A44E0 mov r8, r0 ldr r0, [r4, #8] mov r1, r8 - bl MemClear32 + bl MemClear adds r0, r6, #0 adds r1, r4, #0 bl sub_0805F76C @@ -1269,11 +1269,11 @@ sub_080A4608: @ 0x080A4608 ldr r0, _080A46A4 @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r0, _080A46A8 @ =gBG3Buffer movs r1, #0x80 lsls r1, r1, #5 - bl MemClear32 + bl MemClear ldr r2, _080A46AC @ =gScreen adds r1, r2, #0 adds r1, #0x58 @@ -1976,7 +1976,7 @@ sub_080A4BA0: @ 0x080A4BA0 adds r6, r1, #0 add r0, sp, #0x18 movs r1, #0x30 - bl MemClear32 + bl MemClear ldr r0, _080A4C08 @ =gUnk_0812816C mov r1, sp movs r2, #0x18 @@ -2123,7 +2123,7 @@ sub_080A4CBC: @ 0x080A4CBC lsls r5, r5, #4 adds r0, r4, #0 adds r1, r5, #0 - bl MemClear32 + bl MemClear ldr r1, _080A4D14 @ =0x0600E000 adds r0, r4, #0 adds r2, r5, #0 @@ -2217,7 +2217,7 @@ sub_080A4D88: @ 0x080A4D88 push {lr} ldr r0, _080A4DA4 @ =gUnk_020344A0 movs r1, #8 - bl MemClear32 + bl MemClear movs r0, #1 movs r1, #0 bl MenuFadeIn @@ -2245,21 +2245,21 @@ sub_080A4DB8: @ 0x080A4DB8 movs r4, #0x80 lsls r4, r4, #4 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080A4E5C @ =gBG1Buffer adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080A4E60 @ =gBG2Buffer adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080A4E64 @ =gUnk_0200AF34 movs r1, #0xc0 lsls r1, r1, #2 - bl MemClear32 + bl MemClear ldr r4, _080A4E68 @ =gMenu adds r0, r4, #0 movs r1, #0x30 - bl MemClear32 + bl MemClear ldr r0, _080A4E6C @ =0x0000FFFF strh r0, [r4, #0x2e] ldr r0, _080A4E70 @ =gUnk_02034490 @@ -2580,7 +2580,7 @@ _080A5080: ldr r0, _080A5098 @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r1, _080A509C @ =gScreen movs r0, #1 strh r0, [r1, #0xe] diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index cbe07816..a4a9cf4c 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -2442,7 +2442,7 @@ _080A6886: ldr r0, _080A68D0 @ =gUnk_02019EE0 movs r1, #0x80 lsls r1, r1, #3 - bl MemClear32 + bl MemClear pop {r4, r5, r6, r7, pc} .align 2, 0 _080A68AC: .4byte gUnk_02032EC0 @@ -3307,7 +3307,7 @@ sub_080A6F6C: @ 0x080A6F6C ldr r0, _080A6FA8 @ =gUnk_020350F0 movs r1, #0x80 lsls r1, r1, #1 - bl MemClear32 + bl MemClear movs r0, #0xff ands r0, r4 cmp r0, #0 @@ -3376,7 +3376,7 @@ _080A6FFA: ldr r0, _080A7038 @ =gUnk_020350F0 movs r1, #0x80 lsls r1, r1, #1 - bl MemClear32 + bl MemClear movs r0, #0xff ands r0, r4 cmp r0, #0 @@ -3413,7 +3413,7 @@ sub_080A7040: @ 0x080A7040 movs r1, #0xc0 lsls r1, r1, #2 adds r0, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080A7098 @ =0xFFFFFE00 adds r4, r4, r0 ldr r1, _080A709C @ =0x0600E000 @@ -3456,7 +3456,7 @@ sub_080A70AC: @ 0x080A70AC movs r1, #0xc0 lsls r1, r1, #2 adds r0, r4, #0 - bl MemClear32 + bl MemClear adds r2, r4, #0 subs r2, #0x34 movs r0, #0x7f @@ -3519,7 +3519,7 @@ sub_080A7124: @ 0x080A7124 ldr r0, _080A7134 @ =gUnk_02032EC0 movs r1, #0xed lsls r1, r1, #2 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _080A7134: .4byte gUnk_02032EC0 @@ -3536,7 +3536,7 @@ MenuFadeIn: @ 0x080A7138 movs r1, #0xed lsls r1, r1, #2 adds r0, r4, #0 - bl MemClear32 + bl MemClear strb r5, [r4, #2] strb r6, [r4, #3] ldr r0, _080A7160 @ =gMain @@ -3767,18 +3767,18 @@ sub_080A7328: @ 0x080A7328 bl DeleteAllEntities ldr r0, _080A738C @ =gMenu movs r1, #0x30 - bl MemClear32 + bl MemClear ldr r0, _080A7390 @ =gRoomControls movs r1, #0x38 - bl MemClear32 + bl MemClear ldr r0, _080A7394 @ =gUnk_03000420 movs r1, #0x80 lsls r1, r1, #1 - bl MemClear32 + bl MemClear ldr r4, _080A7398 @ =gUnk_02033280 adds r0, r4, #0 movs r1, #0xc - bl MemClear32 + bl MemClear movs r0, #8 strb r0, [r4, #8] movs r0, #1 @@ -4943,7 +4943,7 @@ sub_080A7C7C: @ 0x080A7C7C push {lr} ldr r0, _080A7C88 @ =gUnk_02017660 movs r1, #0x40 - bl MemClear32 + bl MemClear pop {pc} .align 2, 0 _080A7C88: .4byte gUnk_02017660 diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index d08c7ef4..54509736 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -567,7 +567,7 @@ sub_080ADD30: @ 0x080ADD30 movs r1, #0x85 lsls r1, r1, #2 adds r0, r4, #0 - bl MemClear32 + bl MemClear movs r5, #0 adds r4, #4 movs r0, #0x10 @@ -718,7 +718,7 @@ _080ADE54: .4byte gUnk_02024494 _080ADE58: adds r0, r1, #0 movs r1, #0xc - bl MemClear32 + bl MemClear _080ADE60: adds r5, #0xc adds r4, #1 @@ -1084,7 +1084,7 @@ sub_080AE104: @ 0x080AE104 adds r1, r1, r5 lsls r1, r1, #2 adds r0, r4, #0 - bl MemClear32 + bl MemClear strb r5, [r4, #1] strh r6, [r4, #4] adds r0, r4, #0 @@ -1396,7 +1396,7 @@ _080AE350: stm r0!, {r2, r3, r7} adds r0, r6, #0 movs r1, #0xc - bl MemClear32 + bl MemClear adds r6, #0xc adds r5, #0xc movs r0, #0xc diff --git a/asm/fileScreen.s b/asm/fileScreen.s index 341bfde7..287c9992 100755 --- a/asm/fileScreen.s +++ b/asm/fileScreen.s @@ -41,7 +41,7 @@ sub_080519B0: @ 0x080519B0 ldr r4, _08051A08 @ =gScreenTransition adds r0, r4, #0 movs r1, #0xb0 - bl MemClear32 + bl MemClear bl sub_08049CD4 bl sub_080300AC bl sub_0807CA18 @@ -76,11 +76,11 @@ sub_08051A14: @ 0x08051A14 str r0, [r1, #4] ldr r0, _08051A74 @ =gUnk_03000000 ldr r1, _08051A78 @ =0x00000B74 - bl MemClear32 + bl MemClear ldr r0, _08051A7C @ =gUnk_02032EC0 movs r1, #0xed lsls r1, r1, #2 - bl MemClear32 + bl MemClear bl EraseAllEntities bl sub_080197AC bl sub_08080668 @@ -734,10 +734,10 @@ sub_08052010: @ 0x08052010 movs r4, #0x80 lsls r4, r4, #4 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _08052080 @ =gBG2Buffer adds r1, r4, #0 - bl MemClear32 + bl MemClear bl sub_080A4D34 movs r0, #0xa bl LoadPaletteGroup @@ -749,10 +749,10 @@ sub_08052010: @ 0x08052010 movs r0, #0xc0 lsls r0, r0, #0x13 movs r1, #0x20 - bl MemClear32 + bl MemClear ldr r0, _08052084 @ =gMenu movs r1, #0x30 - bl MemClear32 + bl MemClear ldr r1, _08052088 @ =gScreen ldrh r2, [r1] movs r3, #0x80 diff --git a/asm/gyorgFemale.s b/asm/gyorgFemale.s index 14d08573..daba4aa9 100644 --- a/asm/gyorgFemale.s +++ b/asm/gyorgFemale.s @@ -112,10 +112,10 @@ sub_0804614C: @ 0x0804614C movs r4, #0x80 lsls r4, r4, #8 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _08046250 @ =gMapDataTopSpecial adds r1, r4, #0 - bl MemClear32 + bl MemClear adds r0, r6, #0 movs r1, #0 bl sub_0804660C @@ -445,10 +445,10 @@ sub_08046498: @ 0x08046498 movs r4, #0x80 lsls r4, r4, #8 adds r1, r4, #0 - bl MemClear32 + bl MemClear ldr r0, _080464BC @ =gMapDataTopSpecial adds r1, r4, #0 - bl MemClear32 + bl MemClear adds r0, r5, #0 bl sub_080464C0 pop {r4, r5, pc} @@ -486,7 +486,7 @@ _080464DE: ldr r0, _0804650C @ =gUnk_02019EE0 movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r1, _08046514 @ =gUnk_02000070 movs r0, #1 strb r0, [r1] diff --git a/asm/manager10.s b/asm/manager10.s index 2826845f..f0d19df0 100644 --- a/asm/manager10.s +++ b/asm/manager10.s @@ -338,7 +338,7 @@ _08059800: lsls r5, r5, #4 adds r0, r4, #0 adds r1, r5, #0 - bl MemClear32 + bl MemClear ldr r1, _08059820 @ =0x0600E800 adds r0, r4, #0 adds r2, r5, #0 diff --git a/asm/manager2C.s b/asm/manager2C.s index 4da87eb7..123784c0 100644 --- a/asm/manager2C.s +++ b/asm/manager2C.s @@ -44,7 +44,7 @@ _0805D184: ldr r4, _0805D1F8 @ =gUnk_030010AC adds r0, r4, #0 movs r1, #0x20 - bl MemClear32 + bl MemClear subs r4, #0xc movs r1, #0 movs r0, #1 diff --git a/asm/non_matching/arm_proxy/ItemInit.inc b/asm/non_matching/arm_proxy/ItemInit.inc index e48870ae..efdae83e 100644 --- a/asm/non_matching/arm_proxy/ItemInit.inc +++ b/asm/non_matching/arm_proxy/ItemInit.inc @@ -127,4 +127,4 @@ _08017438: .align 2, 0 _0801749C: .4byte 0x000003FF _080174A0: .4byte gPlayerEntity - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/arm_proxy/sub_08017530.inc b/asm/non_matching/arm_proxy/sub_08017530.inc index 4c2b9134..278daa48 100644 --- a/asm/non_matching/arm_proxy/sub_08017530.inc +++ b/asm/non_matching/arm_proxy/sub_08017530.inc @@ -87,4 +87,4 @@ _080175D8: .4byte gUnk_020342F8 _080175DC: .4byte gNPCFunctions _080175E0: .4byte gUnk_02031EC0 _080175E4: .4byte gRoomControls - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/arm_proxy/sub_0801766C.inc b/asm/non_matching/arm_proxy/sub_0801766C.inc index 6ef38554..239a6506 100644 --- a/asm/non_matching/arm_proxy/sub_0801766C.inc +++ b/asm/non_matching/arm_proxy/sub_0801766C.inc @@ -65,4 +65,4 @@ _080176DE: pop {r4} pop {r1} bx r1 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/arm_proxy/sub_080176E4.inc b/asm/non_matching/arm_proxy/sub_080176E4.inc index 5000774e..e8a48278 100644 --- a/asm/non_matching/arm_proxy/sub_080176E4.inc +++ b/asm/non_matching/arm_proxy/sub_080176E4.inc @@ -51,4 +51,4 @@ _0801773A: bx r1 .align 2, 0 _08017740: .4byte gUnk_03003C70 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/arm_proxy/sub_08017744.inc b/asm/non_matching/arm_proxy/sub_08017744.inc index 2d47df2c..e5e245ec 100644 --- a/asm/non_matching/arm_proxy/sub_08017744.inc +++ b/asm/non_matching/arm_proxy/sub_08017744.inc @@ -47,4 +47,4 @@ _0801779A: pop {r4, r5, r6, r7} pop {r0} bx r0 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/arm_proxy/sub_080177A0.inc b/asm/non_matching/arm_proxy/sub_080177A0.inc index 99962e08..da64049f 100644 --- a/asm/non_matching/arm_proxy/sub_080177A0.inc +++ b/asm/non_matching/arm_proxy/sub_080177A0.inc @@ -92,4 +92,4 @@ _0801784A: pop {r4, r5, r6} pop {r1} bx r1 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/fileScreen/sub_08050EF4.inc b/asm/non_matching/fileScreen/sub_08050EF4.inc index 1ef73ae0..dbad9f1e 100644 --- a/asm/non_matching/fileScreen/sub_08050EF4.inc +++ b/asm/non_matching/fileScreen/sub_08050EF4.inc @@ -135,4 +135,4 @@ _08050FF4: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/fileScreen/sub_08051738.inc b/asm/non_matching/fileScreen/sub_08051738.inc index bde5ca42..16ca61e3 100644 --- a/asm/non_matching/fileScreen/sub_08051738.inc +++ b/asm/non_matching/fileScreen/sub_08051738.inc @@ -62,4 +62,4 @@ _080517A2: pop {r4, r5, r6, r7, pc} .align 2, 0 _080517B0: .4byte gMenu - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/fileScreen/sub_080517B4.inc b/asm/non_matching/fileScreen/sub_080517B4.inc index 45bc25e3..f9bef9e7 100644 --- a/asm/non_matching/fileScreen/sub_080517B4.inc +++ b/asm/non_matching/fileScreen/sub_080517B4.inc @@ -29,4 +29,4 @@ _080517DE: .align 2, 0 _080517E4: .4byte gUnk_02019EE0 _080517E8: .4byte gUnk_02000090 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/fileScreen/sub_080610B8.inc b/asm/non_matching/fileScreen/sub_080610B8.inc index f7b6721c..037a8765 100644 --- a/asm/non_matching/fileScreen/sub_080610B8.inc +++ b/asm/non_matching/fileScreen/sub_080610B8.inc @@ -345,4 +345,4 @@ _0805134C: .align 2, 0 _08051350: .4byte gSave _08051354: .4byte gMenu - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/game/sub_08052418.inc b/asm/non_matching/game/sub_08052418.inc index 179cce1d..bd30db21 100644 --- a/asm/non_matching/game/sub_08052418.inc +++ b/asm/non_matching/game/sub_08052418.inc @@ -6,7 +6,7 @@ ldr r0, _08052494 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 - bl MemClear32 + bl MemClear ldr r0, _08052498 @ =gUnk_020227E8 movs r1, #0xf str r1, [r0] @@ -63,4 +63,4 @@ _08052498: .4byte gUnk_020227E8 _0805249C: .4byte gUnk_080FCA8C _080524A0: .4byte gUnk_080FCAA4 _080524A4: .4byte gScreen - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/gibdo/sub_080376D0.inc b/asm/non_matching/gibdo/sub_080376D0.inc index c6c76bd6..8c07e3dc 100644 --- a/asm/non_matching/gibdo/sub_080376D0.inc +++ b/asm/non_matching/gibdo/sub_080376D0.inc @@ -54,4 +54,4 @@ _0803772C: _0803773A: pop {r4, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/gibdo/sub_08037810.inc b/asm/non_matching/gibdo/sub_08037810.inc index 42f4ed8c..b4ce2803 100644 --- a/asm/non_matching/gibdo/sub_08037810.inc +++ b/asm/non_matching/gibdo/sub_08037810.inc @@ -83,4 +83,4 @@ _080378AC: _080378AE: pop {r4, r5, r6, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/gibdo/sub_0803797C.inc b/asm/non_matching/gibdo/sub_0803797C.inc index 47da634a..4e0ecf7a 100644 --- a/asm/non_matching/gibdo/sub_0803797C.inc +++ b/asm/non_matching/gibdo/sub_0803797C.inc @@ -36,4 +36,4 @@ _080379BA: pop {r4, r5, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/save/sub_08050B3C.inc b/asm/non_matching/save/sub_08050B3C.inc index a3b5b6b3..356b8a6c 100644 --- a/asm/non_matching/save/sub_08050B3C.inc +++ b/asm/non_matching/save/sub_08050B3C.inc @@ -122,4 +122,4 @@ _08050C1C: .4byte 0x0000F24C _08050C20: .4byte 0x040000D4 _08050C24: .4byte gUnk_080FC914 _08050C28: .4byte 0xFFFFF24D - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_080560B8.inc b/asm/non_matching/sub_080560B8.inc index 29ca150f..73872d2a 100644 --- a/asm/non_matching/sub_080560B8.inc +++ b/asm/non_matching/sub_080560B8.inc @@ -54,7 +54,7 @@ _08056112: ldr r4, _0805612C @ =gUnk_02000010 adds r0, r4, #0 movs r1, #0x20 - bl MemClear32 + bl MemClear ldr r0, _08056130 @ =0x4D435A33 str r0, [r4] _08056124: diff --git a/asm/non_matching/textbox/sub_080564EC.inc b/asm/non_matching/textbox/sub_080564EC.inc index 4c3fdf84..e76e5fa6 100644 --- a/asm/non_matching/textbox/sub_080564EC.inc +++ b/asm/non_matching/textbox/sub_080564EC.inc @@ -2,14 +2,14 @@ push {r4, lr} ldr r0, _08056598 @ =gUnk_02036A40 movs r1, #8 - bl MemClear32 + bl MemClear ldr r0, _0805659C @ =gUnk_02024030 movs r1, #0x18 - bl MemClear32 + bl MemClear ldr r4, _080565A0 @ =gUnk_02022780 adds r0, r4, #0 movs r1, #0xa8 - bl MemClear32 + bl MemClear ldr r0, _080565A4 @ =gTextBox adds r1, r4, #0 movs r2, #0x20 @@ -87,4 +87,4 @@ _080565A4: .4byte gTextBox _080565A8: .4byte gSave _080565AC: .4byte gUnk_08107BE0 _080565B0: .4byte gUnk_02000D00 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/object3D.s b/asm/object3D.s index a6dbf01d..07297cfa 100644 --- a/asm/object3D.s +++ b/asm/object3D.s @@ -170,7 +170,7 @@ sub_0808D030: @ 0x0808D030 adds r0, r4, #0 subs r0, #0x20 ldr r1, _0808D05C @ =0x00000B74 - bl MemClear32 + bl MemClear movs r1, #0xa8 lsls r1, r1, #2 adds r0, r1, #0 diff --git a/include/dma.h b/include/dma.h new file mode 100644 index 00000000..168c870e --- /dev/null +++ b/include/dma.h @@ -0,0 +1,9 @@ +#ifndef DMA_H +#define DMA_H + +void MemFill16(u32 value, void* dest, u32 size); +void MemFill32(u32 value, void* dest, u32 size); +void MemClear(void* dest, u32 size); +void MemCopy(const void* src, void* dest, u32 size); + +#endif // DMA_H diff --git a/include/enemy.h b/include/enemy.h index b12a54e8..22a62f78 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -89,7 +89,6 @@ extern void VaatiWrath(Entity*); extern void VaatiArm(Entity*); extern void Dust(Entity*); extern void VaatiBall(Entity*); -extern void Octorok(Entity*); extern void Slime(Entity*); extern void MiniSlime(Entity*); extern void FireballGuy(Entity*); diff --git a/include/entity.h b/include/entity.h index a1dd6d93..6f1b5e72 100644 --- a/include/entity.h +++ b/include/entity.h @@ -166,14 +166,14 @@ extern LinkedList gUnk_03003D90; extern LinkedList gUnk_03003DA0; #define TILE(x, y) \ - ((((x - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \ - (((y - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6) + (((((x) - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \ + ((((y) - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6) #define COORD_TO_TILE(entity) \ - TILE(entity->x.HALF.HI, entity->y.HALF.HI) + TILE((entity)->x.HALF.HI, (entity)->y.HALF.HI) #define COORD_TO_TILE_OFFSET(entity, xOff, yOff) \ - TILE(entity->x.HALF.HI - xOff, entity->y.HALF.HI - yOff) + TILE((entity)->x.HALF.HI - (xOff), (entity)->y.HALF.HI - (yOff)) extern Entity* CreateEnemy(u32 subtype, u32 form); extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter); @@ -194,9 +194,10 @@ extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); extern u32 GetFacingDirection(Entity*, Entity*); extern void DeleteThisEntity(void); -extern void CopyPosition(Entity*, Entity*); extern void DeleteEntity(Entity*); -extern void PositionRelative(Entity*, Entity*, s32, s32); + +Entity* FindEntityInListBySubtype(u32 type, u32 subtype, u32 listIndex); +Entity* FindEntityInListByForm(u32 type, u32 subtype, u32 listIndex, u32 form, u32 parameter); enum { DirectionNorth = 0x00, @@ -211,12 +212,12 @@ enum { #define DirectionIsVertical(expr) ((expr) & 0x10) #define DirectionTurnAround(expr) (DirectionRoundUp(expr) ^ 0x10) #define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3) -#define DirectionFromAnimationState(expr) (expr << 3) +#define DirectionFromAnimationState(expr) ((expr) << 3) #define Direction8Round(expr) ((expr) & 0x1c) #define Direction8RoundUp(expr) Direction8Round((expr) + 2) #define Direction8TurnAround(expr) (Direction8RoundUp(expr) ^ 0x10) #define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2) -#define Direction8FromAnimationState(expr) (expr << 2) +#define Direction8FromAnimationState(expr) (((expr) << 2) #endif diff --git a/include/functions.h b/include/functions.h index ecf438fb..34e79e08 100644 --- a/include/functions.h +++ b/include/functions.h @@ -15,24 +15,18 @@ extern u32 Random(void); extern void SoundReq(u32); extern void ShowNPCDialogue(Entity*, Dialog*); extern u32 UpdateFuseInteraction(); -extern void DeleteEntity(Entity*); extern u32 __modsi3(u32, u32); extern void DoFade(u32, u32); -extern u32 GetInventoryValue(u32); extern u32 CheckKinstoneFused(u32); extern void ForceEquipItem(u32, u8); extern void LoadRoomEntityList(); -void CopyPosition(Entity*, Entity*); -extern void ResolveEntityOnTop(Entity*, Entity*); extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); extern u32 GetAnimationState(Entity*); extern void SetChildOffset(Entity*, s32, s32, s32); -extern u32 GetFacingDirection(Entity*, Entity*); extern Entity* CreatePlayerItem(u32, u32, u32, u32); extern Entity* GetEmptyEntity(void); extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); extern u32 GetTileType(u32 pos, u32 layer); -extern void MemClear32(void* src, u32 count); extern void EraseAllEntities(void); extern void SetTile(u32, u32, u32); extern void SetDirtTile(u32); @@ -42,13 +36,8 @@ extern void UpdateAnimationVariableFrames(Entity*, u32); extern void CopyPositionAndSpriteOffset(Entity*, Entity*); extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); -extern void MemFill32(u32, void*, u32); extern Entity* CreateItemEntity(u32, u32, u32); -void MemCopy(const void* src, void* dst, u32 size); extern u32 ProcessMovement(Entity*); -extern Entity* FindEntityInListBySubtype(u32, u32, u32); -extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32); -extern void MemClear32(void*, u32); extern void MenuFadeIn(u32, u32); extern void LoadResourceAsync(const void*, u32, u32); extern void LoadPaletteGroup(u32); @@ -78,7 +67,6 @@ extern void sub_0806F118(Entity*); extern void sub_080791D0(); extern void sub_0805EC9C(); extern void sub_0805EC60(); -extern void sub_080873D0(); extern u32 sub_080045D4(s16, s16, u32, u32); extern void sub_0806F69C(Entity*); extern void sub_0805E3A0(void*, u32); @@ -94,17 +82,11 @@ extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); extern void sub_0805E584(Entity*); extern void sub_08068BEC(Entity*, u32); -extern void sub_08078778(Entity*); -extern s32 sub_0806ED9C(Entity*, u32, u32); extern s32 sub_0806F078(Entity*, s32); extern void sub_0801D2B4(Entity*, u32); extern void sub_0806FD3C(Entity*); -extern u32 sub_0801E99C(Entity*); -extern void sub_0807DD50(Entity*); -extern void sub_0806F118(Entity*); extern void sub_0805ED14(u32*); extern void sub_080A7C18(u32, u32, u32); -extern void sub_08068BEC(Entity*, u32); extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); extern Entity* sub_0804A9FC(Entity*, u32); extern void sub_0804A720(Entity*); @@ -159,8 +141,6 @@ extern void sub_080530C8(void); extern void sub_0805B4D0(u32); extern void sub_0804D0B4(void); extern void sub_0805308C(u32); -extern void sub_0805AF60(); -extern void sub_0805D3C8(u32); extern void sub_080534AC(); extern void sub_0807BA8C(u32, u32); extern void sub_0804D9B0(); @@ -174,7 +154,6 @@ extern void sub_08054564(); extern void sub_0801DD58(u32, u32); extern void sub_0804ED18(); extern void sub_080AF2E4(void); -extern void sub_0805ADD8(u32); extern void sub_0804F578(void); extern void sub_08059994(void); extern s32 sub_0801CFA8(u32); @@ -266,7 +245,6 @@ u32 sub_0806FCB8(Entity*, u32, u32, u32); extern Entity* sub_080A7EE0(u32); extern void sub_080A1D70(Entity*, u32); extern void sub_0806F62C(Entity*, u32, u32); -extern u32 sub_08079F8C(void); extern void sub_080A1ED0(u32, u32, u32); extern u32 sub_0806F5B0(u32); extern void sub_0801DFB4(Entity*, u32, u32, u32); @@ -292,7 +270,6 @@ extern void sub_080791BC9(); extern void sub_080791BC(); extern void sub_08056360(); extern u32 sub_080542AC(u32); -extern void sub_0807A108(); extern u32 sub_08079FC4(u32); extern void sub_0800455E(Entity*); extern void sub_08008790(Entity*, u32); diff --git a/include/gba/macro.h b/include/gba/macro.h index b08ed921..53f03071 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -4,13 +4,13 @@ #define CPU_FILL(value, dest, size, bit) \ { \ vu##bit tmp = (vu##bit)(value); \ - CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / (bit / 8) & 0x1FFFFF)); \ + CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / ((bit) / 8) & 0x1FFFFF)); \ } #define CpuFill16(value, dest, size) CPU_FILL(value, dest, size, 16) #define CpuFill32(value, dest, size) CPU_FILL(value, dest, size, 32) -#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size) / (bit / 8) & 0x1FFFFF)) +#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size) / ((bit) / 8) & 0x1FFFFF)) #define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16) #define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32) @@ -42,7 +42,7 @@ vu##bit tmp = (vu##bit)(value); \ DmaSet(dmaNum, &tmp, dest, \ (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 | \ - ((size) / (bit / 8))); \ + ((size) / ((bit) / 8))); \ } #define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16) @@ -65,7 +65,7 @@ #define DMA_COPY(dmaNum, src, dest, size, bit) \ DmaSet(dmaNum, src, dest, \ - (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | ((size) / (bit / 8))) + (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | ((size) / ((bit) / 8))) #define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16) #define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32) @@ -112,7 +112,7 @@ #define DmaFillLarge(dmaNum, value, dest, size, block, bit) \ { \ - void* _dest = (void*)dest; \ + void* _dest = (void*)(dest); \ u32 _size = size; \ while (1) { \ DmaFill##bit(dmaNum, value, _dest, (block)); \ @@ -149,7 +149,7 @@ #define DmaFillDefvars(dmaNum, value, dest, size, bit) \ { \ - void* _dest = (void*)dest; \ + void* _dest = (void*)(dest); \ u32 _size = size; \ DmaFill##bit(dmaNum, value, _dest, _size); \ } @@ -180,7 +180,7 @@ \ imeTemp = REG_IME; \ REG_IME = 0; \ - REG_IE |= flags; \ + REG_IE |= (flags); \ REG_IME = imeTemp; \ } diff --git a/include/global.h b/include/global.h index de47c6ac..f45ee218 100644 --- a/include/global.h +++ b/include/global.h @@ -31,9 +31,9 @@ #define SWAP(a, b, temp) \ { \ - temp = a; \ - a = b; \ - b = temp; \ + (temp) = a; \ + (a) = b; \ + (b) = temp; \ } // useful math macros @@ -47,7 +47,7 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) -#define BOOLCAST(x) ((-x | x) >> 31) +#define BOOLCAST(x) ((-(x) | (x)) >> 31) #define static_assert(cond) extern char assertion[(cond) ? 1 : -1] #if NON_MATCHING diff --git a/include/greatFairy.h b/include/greatFairy.h index 31a37c99..e9c5dfb9 100644 --- a/include/greatFairy.h +++ b/include/greatFairy.h @@ -3,23 +3,9 @@ #include "screen.h" -extern u32 __modsi3(u32, u32); -extern void InitializeAnimation(Entity*, u32); -extern void GreatFairy_InitializeAnimation(Entity*); -extern u32 CheckRoomFlag(); -extern Entity* GreatFairy_CreateForm(Entity*, u32, u32); -extern void PositionRelative(); -extern void CopyPosition(); -extern void DoFade(); -extern void SoundReq(); -extern void GetNextFrame(); -extern void sub_0805EC9C(); -extern void sub_0805EC60(); -extern void sub_080873D0(); -extern void DeleteEntity(); -extern void sub_0806F69C(); -extern Entity* FindEntityInListBySubtype(u32, u32, u32); -extern void sub_080791D0(); +void GreatFairy_InitializeAnimation(Entity*); +Entity* GreatFairy_CreateForm(Entity*, u32, u32); +void sub_080873D0(); extern void (*const GreatFairy_Main[])(Entity*); extern void (*const GreatFairy_Behaviors[])(Entity*); extern void (*const GreatFairy_WingsBehaviors[])(Entity*); @@ -35,13 +21,8 @@ extern void (*const GreatFairy_Form2Behaviors[])(Entity*); extern void (*const gUnk_081207A4[])(Entity*); extern u32 gUnk_0810C2E4; -extern RoomControls gRoomControls; -extern Entity gPlayerEntity; extern const s16 GreatFairy_RippleOffsets[10]; extern u32 gUnk_02034350; -extern RoomVars gRoomVars; -extern Screen gScreen; -extern struct_02033280 gUnk_02033280; extern u8 gUnk_0812079C[8]; extern s16 gSineTable[]; extern s8 gUnk_081207AC[]; diff --git a/include/item.h b/include/item.h index e0dc4bbb..0f9fd6f2 100644 --- a/include/item.h +++ b/include/item.h @@ -7,36 +7,19 @@ extern void DebugItem(ItemBehavior*, u32); extern void Sword(ItemBehavior*, u32); -extern void Sword(ItemBehavior*, u32); -extern void Sword(ItemBehavior*, u32); -extern void Sword(ItemBehavior*, u32); -extern void Sword(ItemBehavior*, u32); -extern void Sword(ItemBehavior*, u32); -extern void Bomb(ItemBehavior*, u32); extern void Bomb(ItemBehavior*, u32); extern void Bow(ItemBehavior*, u32); -extern void Bow(ItemBehavior*, u32); -extern void sub_08075D14(ItemBehavior*, u32); extern void sub_08075D14(ItemBehavior*, u32); extern void Shield(ItemBehavior*, u32); -extern void Shield(ItemBehavior*, u32); -extern void Lantern(ItemBehavior*, u32); extern void Lantern(ItemBehavior*, u32); extern void GustJar(ItemBehavior*, u32); extern void PacciCane(ItemBehavior*, u32); extern void MoleMitts(ItemBehavior*, u32); extern void RocsCape(ItemBehavior*, u32); extern void sub_08076800(ItemBehavior*, u32); -extern void DebugItem(ItemBehavior*, u32); extern void Ocarina(ItemBehavior*, u32); -extern void DebugItem(ItemBehavior*, u32); -extern void DebugItem(ItemBehavior*, u32); -extern void DebugItem(ItemBehavior*, u32); extern void TryPickupObject(ItemBehavior*, u32); extern void JarEmpty(ItemBehavior*, u32); -extern void JarEmpty(ItemBehavior*, u32); -extern void JarEmpty(ItemBehavior*, u32); -extern void JarEmpty(ItemBehavior*, u32); /* On hold until naming conflicts are resolved */ /* diff --git a/include/npc.h b/include/npc.h index b27a82f9..ec7fc861 100644 --- a/include/npc.h +++ b/include/npc.h @@ -42,10 +42,6 @@ extern void SittingPerson_Head(Entity*); extern void SittingPerson_Fusion(Entity*); extern void Pina(Entity*); extern void Pina_Fusion(Entity*); -extern void Guard(Entity*); -extern void Guard_Head(Entity*); -extern void Maid(Entity*); -extern void Maid_Head(Entity*); extern void Din(Entity*); extern void Din_Fusion(Entity*); extern void Nayru(Entity*); diff --git a/include/structures.h b/include/structures.h index 59811d6f..a7e4902f 100644 --- a/include/structures.h +++ b/include/structures.h @@ -39,8 +39,7 @@ typedef struct { u8 field_0x4[0x4]; bool8 transitioningOut; u8 transitionType; // transition when changing areas - u8 field_0xa; // seems to be a tile type - u8 field_0xb; + u16 field_0xa; // seems to be a tile type u8 areaID; u8 roomID; u8 playerState; 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; + Entity* entity; - ent = GetEmptyEntity(); - if (ent != NULL) { - ent->kind = 6; - ent->id = subtype; - ent->type = form; - ent->type2 = parameter; - AppendEntityToList(ent, 6); + entity = GetEmptyEntity(); + if (entity != NULL) { + entity->kind = 6; + entity->id = subtype; + entity->type = form; + entity->type2 = parameter; + AppendEntityToList(entity, 6); } - return ent; + return entity; } Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 form, u32 parameter) { diff --git a/src/dma.c b/src/dma.c index 4c79f72e..426b09dc 100644 --- a/src/dma.c +++ b/src/dma.c @@ -1,49 +1,46 @@ #include "global.h" -#include "entity.h" +#include "dma.h" -void MemFill32(u32, u8*, u32); -void MemFill16(u32, u8*, u32); - -void MemFill16(u32 value, u8* dest, u32 size) { +void MemFill16(u32 value, void* dest, u32 size) { DmaFill16(3, value, dest, size); } -void MemFill32(u32 value, u8* dest, u32 size) { +void MemFill32(u32 value, void* dest, u32 size) { DmaFill32(3, value, dest, size); } -void MemClear32(u8* src, u32 size) { +void MemClear(void* dest, u32 size) { u32 zero = 0; - switch (((u32)src | size) & 3) { + switch (((u32)dest | size) & 3) { case 0: - MemFill32(0, src, size); + MemFill32(0, dest, size); break; case 2: - MemFill16(0, src, size); + MemFill16(0, dest, size); break; default: do { - *src = zero; - src++; + *(u8*)dest = zero; + dest++; size--; } while (size != 0); } } -void MemCopy(const u8* src, u8* dst, u32 size) { - switch (((u32)src | (u32)dst | size) & 3) { +void MemCopy(const void* src, void* dest, u32 size) { + switch (((u32)src | (u32)dest | size) & 3) { case 0: - DmaCopy32(3, src, dst, size); + DmaCopy32(3, src, dest, size); break; case 2: - DmaCopy16(3, src, dst, size); + DmaCopy16(3, src, dest, size); break; default: do { - *dst = *src; + *(u8*)dest = *(u8*)src; src++; - dst++; + dest++; } while (--size); } } diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 3344b5b5..fff1cb50 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -4,7 +4,6 @@ extern u32 sub_080002D4(s32, s32, u32); extern s32 sub_080012DC(Entity*); -extern u32 sub_080044EC(Entity*, u32); extern u32 sub_08031E04(Entity*); extern void sub_08031E48(Entity*, Entity*); extern void sub_08032290(Entity*); @@ -12,10 +11,7 @@ extern u32 sub_080322A4(Entity*); void sub_080322E8(Entity*); extern void sub_08032338(Entity*); extern Entity* sub_08049DF4(u32); -extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); -extern u32 sub_0806FCB8(Entity*, u32, u32, u32); extern u32 GetNextFunction(Entity*); -extern void SetChildOffset(Entity*, s32, s32, s32); extern Entity* gUnk_020000B0; extern u8 gEntCount; diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 6f888658..61e54b6a 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -5,7 +5,7 @@ extern u32 PlayerInRange(Entity*, u32, u32); u32 sub_08021D00(); -void sub_08021D44(Entity* this, u32 param_2); +void sub_08021D44(Entity* this, u32 direction); extern void (*const gUnk_080CB590[])(Entity*); extern void (*const gUnk_080CB5A8[])(Entity*); diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index 95d2d8d4..9f89f8f0 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -1,10 +1,9 @@ #include "global.h" #include "entity.h" #include "room.h" +#include "functions.h" extern void sub_080A2CC0(); -extern void sub_0806F69C(); -extern void EnqueueSFX(); void BladeTrap(Entity* this) { if (this->action == 0) { diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index b8dc9575..58e1ed51 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -4,14 +4,11 @@ #include "player.h" extern void sub_08078954(Entity*); -extern u32 sub_0800442E(Entity*); extern void sub_08078930(Entity*); extern s32 sub_080012DC(Entity*); extern u32 GetNextFunction(Entity*); -extern void sub_0806F4E8(Entity*); extern Entity* sub_08049DF4(u32); extern void sub_08079BD8(Entity*); -extern u32 GetTileTypeByEntity(Entity*); void sub_0802AD1C(Entity*, u32); void sub_0802AD54(Entity*); diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index e29d6177..893d7618 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -1,10 +1,8 @@ #include "global.h" #include "entity.h" +#include "enemy.h" +#include "functions.h" -extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); -extern void SetChildOffset(Entity*, u32, u32, u32); -extern void sub_0804A9FC(Entity*, u32); -extern void sub_0804AA30(Entity*, void (*const funcs[][])(Entity*)); extern void sub_0803C5F0(Entity*); extern void (*const gUnk_080CFF78[])(Entity*); @@ -25,7 +23,7 @@ void sub_0803C198(Entity* this) { if (this->field_0x43 != 0) { sub_0804A9FC(this, 0x1c); } - sub_0804AA30(this, &gUnk_080CFF78); + sub_0804AA30(this, gUnk_080CFF78); if ((this->bitfield & 0x80) != 0) { sub_0803C5F0(this); pEVar1 = this->attachedEntity; diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index 674e8774..4127be53 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -2,8 +2,6 @@ #include "entity.h" #include "functions.h" -extern void sub_08078B48(void); - void sub_08027870(Entity*); extern void (*const gUnk_080CC19C[])(Entity*); @@ -36,13 +34,11 @@ void sub_08025CBC(Entity* this) { void sub_08025DC0(Entity*); void sub_08025CD4(Entity*); -void sub_08001242(Entity*); void sub_08025DD8(Entity*); void sub_08026060(Entity*); void sub_08026110(Entity*); void sub_080272D4(Entity*); void sub_0802720C(Entity*); -void sub_0802720C(Entity*); void sub_08026090(Entity*); void sub_0802626C(Entity*); void sub_08026580(Entity*); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index 330e68b8..c7d26607 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -26,7 +26,6 @@ const u8 gUnk_080D1C44[0xC]; const u16 gUnk_080D1C50[8]; const u16 gUnk_080D1C60[8]; -void GyorgMale(Entity*); void sub_08046898(Entity*); // action 0 void sub_08046910(Entity*); // action 1 void sub_08046930(Entity*); // action 1 previousActionFlag 0 diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index 18b4f87e..a011fcb7 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -164,17 +164,17 @@ void sub_08032650(Entity* this) { sub_0803269C(this, this->direction); } -void sub_0803269C(Entity* this, u32 param_2) { +void sub_0803269C(Entity* this, u32 direction) { u32 uVar1; - if (((param_2 - 3) & 7) < 3) { - uVar1 = DirectionToAnimationState(param_2); + if (((direction - 3) & 7) < 3) { + uVar1 = DirectionToAnimationState(direction); if (((this->animationState - uVar1) & 3) > 1) { this->animationState = uVar1; InitAnimationForceUpdate(this, (this->animIndex & 0xFC) + uVar1); } } else { - uVar1 = DirectionToAnimationState(param_2); + uVar1 = DirectionToAnimationState(direction); if (uVar1 != this->animationState) { this->animationState = uVar1; InitAnimationForceUpdate(this, (this->animIndex & 0xFC) + uVar1); diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 0462b254..2c5dc02b 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -5,16 +5,9 @@ #include "functions.h" extern void sub_08001328(Entity*); -extern u32 sub_0806F520(Entity*); -extern void sub_0806F4E8(Entity*); -extern u32 sub_0806F3E4(Entity*); -extern void sub_0804A7D4(Entity*); -extern void sub_0804A720(Entity*); extern void Keese_StartFly(Entity*); extern void sub_080AEFB4(Entity*); extern void sub_08021F24(Entity*); -extern u32 sub_08049FA0(Entity*); -extern u32 sub_08049EE4(Entity*); extern void (*const gKeeseFunctions[])(Entity*); extern void (*const gKeeseActions[])(Entity*); diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index 163ec9e1..00e220cc 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -7,51 +7,6 @@ extern void (*const LakituActionFuncs[])(Entity*); -// Lakitu -extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); - -// sub_0803C784 -extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); - -// sub_0803C820 -extern u32 sub_0806F520(Entity*); - -// sub_0803C850 -extern void sub_0806F4E8(Entity*); - -// Lakitu_Initialize -extern void sub_0804A720(Entity*); - -// Lakitu_Cloudless -extern u32 sub_08003FC4(Entity*, u32); - -// sub_0803CA4C -extern u32 sub_080041A0(Entity*, Entity*, u32, u32); - -// sub_0803CAD0 -extern u32 sub_080AEFE0(Entity*); - -// Lakitu_SpawnLightning -void PositionRelative(Entity*, Entity*, s32, s32); -extern void EnqueueSFX(u32); - -// sub_0803CC08 -extern void DeleteEntity(Entity*); - -// Part of function tables -extern void sub_08001324(Entity*); -extern void sub_0804A7D4(Entity*); -extern void sub_08001242(Entity*); - -// Used in multiple functions -extern Entity* CreateFx(Entity*, u32, u32); -extern Entity* sub_0804A98C(Entity* positionEntity, u8 subtype, - u8 form); // Creates a projectile positioned at the given entity -extern void UpdateAnimationSingleFrame(Entity*); -extern void InitAnimationForceUpdate(Entity*, u32); -extern u32 sub_0806FCB8(Entity*, u32, u32, u32); -extern u32 GetFacingDirection(Entity*, Entity*); - // Forward references to functions in lakitu.c extern void sub_0803CAD0(Entity*); extern void sub_0803CBAC(Entity*); @@ -78,8 +33,6 @@ typedef struct { s8 y; } PACKED OffsetCoords; -// sub_0803CC08 -extern void DeleteEntity(Entity*); // Variables extern void (*const gUnk_080D0110[])(Entity*); diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c index 80679029..a4809991 100644 --- a/src/enemy/lakituCloud.c +++ b/src/enemy/lakituCloud.c @@ -1,25 +1,17 @@ #include "global.h" #include "entity.h" #include "player.h" +#include "functions.h" extern u32 GetNextFunction(Entity*); -extern void sub_0804A7D4(Entity*); -extern void sub_08001242(Entity*); - extern void (*const gUnk_080D0418[6])(Entity*); extern void (*const gUnk_080D0430[3])(Entity*); extern void (*const gUnk_080D043C[3])(Entity*); -extern bool32 sub_0806F3E4(Entity*); -extern bool32 sub_0806F520(Entity*); - extern void sub_0800449C(Entity*, u32); extern void sub_0803CE14(Entity*); extern void sub_0803CE3C(Entity*); -extern Entity* GetCurrentRoomProperty(u8); -extern void sub_0806F4E8(Entity*); -extern void sub_0806F69C(Entity*); extern void sub_08079D84(void); extern void sub_080A2CC0(Entity*, Entity**, u16*); diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 5ce12ee5..7e2f0774 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -3,14 +3,8 @@ #include "enemy.h" #include "functions.h" -extern void SetChildOffset(Entity*, s32, s32, s32); -extern void sub_0804AA30(Entity*, void (*const func[])(Entity*)); -extern void sub_0804A7D4(Entity*); -extern Entity* CreateDeathFx(Entity*, u32, u32); -extern void sub_0804A720(Entity*); extern u32 sub_080002D4(s32, s32, u32); extern u32 sub_080002BC(s32, s32, u32); -extern u32 sub_08049FDC(Entity*, u32); extern Entity* gUnk_020000B0; extern s16 gSineTable[]; diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index 60a7b7b7..b5596a55 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -5,7 +5,6 @@ #include "save.h" extern bool32 sub_080544B4(u32); -extern void sub_0807CAA0(u32, u32); void sub_0802810C(Entity*); void sub_080281A0(Entity*); diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index d5d7b0e6..c0114ff1 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -2,10 +2,6 @@ #include "entity.h" #include "functions.h" -extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*)); -extern void sub_0804A7D4(Entity*); -extern void sub_0804A720(Entity*); -extern void sub_08045678(Entity*); extern void sub_08045678(Entity*); extern void (*const gUnk_080D1868[])(Entity*); diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 08c94fa7..993d7666 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -6,11 +6,8 @@ void sub_08045374(Entity*); extern u32 sub_0806FA04(u32, u32); -extern void sub_0804A720(); extern void sub_080452E4(); -extern void sub_0804AA30(); extern void ReplaceMonitoredEntity(Entity*, Entity*); -extern void sub_0804A7D4(Entity*); extern void (*const gUnk_080D17C0[])(Entity*); extern void (*const gUnk_080D17D8[])(Entity*); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index d89e4e65..199742bc 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -2,14 +2,6 @@ #include "entity.h" #include "functions.h" -extern void EnemyFunctionHandler(); -extern void SetChildOffset(); -extern void sub_0804AA30(); -extern void sub_0804A7D4(); -extern u32 sub_0806F520(); -extern void sub_0806F4E8(); -extern void UpdateAnimationVariableFrames(); -extern void sub_0804A720(); extern Entity* sub_08049DF4(u32); void Octorok_Pause(); diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index c3e67cc8..a22dd53b 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -3,10 +3,8 @@ #include "functions.h" extern u32 sub_080002E0(u16, u32); -extern u32 CheckIsDungeon(void); extern void sub_0800449C(Entity*, u32); extern u32 sub_08049F1C(Entity*, Entity*, u32); -extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); extern u32 PlayerInRange(Entity*, u32, u32); extern void sub_080AEFB4(Entity*); extern Entity* FindNextEntityOfSameSubtype(Entity* ent, int listIndex); diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 08908191..80c98278 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -8,7 +8,6 @@ extern u16 sub_080002A8(u32, u32, u32); extern u16 sub_080002D4(u32, u32, u32); extern void sub_0804AA1C(Entity*); extern Entity* sub_08049DF4(u32); -extern void sub_0807B7D8(u32, u32, u32); extern u8 gUnk_080B37A0[]; extern u8 gUnk_080B3E80[]; diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 13782f7a..6ef1e9fa 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -16,10 +16,7 @@ typedef struct { void sub_08044FF8(Entity*); void sub_08045178(Entity*, Entity*, int, int); -extern void sub_0804A720(Entity*); extern u32 sub_0806FA04(u32, u32); -extern u32 sub_08049FA0(Entity*); -extern u32 sub_08049EE4(Entity*); extern void sub_0804A4E4(Entity*, Entity*); extern u32 sub_080002CC(Entity*, s32, s32); diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index f1b039f4..d39712ef 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -1,17 +1,10 @@ #include "global.h" #include "entity.h" +#include "position.h" +#include "functions.h" extern u32 GetNextFunction(Entity*); -extern u32 sub_0806F520(Entity*); -extern void sub_0806F4E8(Entity*); -extern u32 sub_0806F3E4(); -extern void sub_0804A7D4(Entity*); -extern void sub_0804A720(Entity*); extern void sub_080317F8(Entity*); -extern u32 sub_08049FA0(Entity*); -extern u32 Random(); -extern u32 sub_08049EE4(Entity*); -extern void sub_0806F69C(Entity*); extern void (*gUnk_080CE530[])(Entity*); extern void (*gUnk_080CE548[])(Entity*); @@ -19,7 +12,6 @@ extern void (*gUnk_080CE554[])(Entity*); void sub_080317B4(Entity*); void sub_080317E0(Entity*); -void sub_080317F8(Entity*); void sub_08031840(Entity*); extern Hitbox gUnk_080CE560; @@ -61,7 +53,7 @@ void sub_080316E8(Entity* this) { } void sub_080316F0(Entity* this) { - if (sub_0806F3E4()) { + if (sub_0806F3E4(this)) { sub_0804A7D4(this); } } @@ -101,7 +93,6 @@ void sub_08031770(Entity* this) { this->attachedEntity = NULL; } } - return; } void sub_080317B4(Entity* this) { diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c index 24009c34..c206edd2 100644 --- a/src/enemy/spearMoblin.c +++ b/src/enemy/spearMoblin.c @@ -3,7 +3,6 @@ #include "functions.h" extern bool32 sub_0806FC80(Entity*, Entity*, u32); -extern Entity* sub_080A7EE0(u32); extern Entity* sub_08049DF4(u32); void sub_08028604(Entity*); diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index 66d2ca82..a738d82a 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -62,8 +62,6 @@ void sub_0802F1F0(Entity* this) { } } -extern u8 gUnk_080CDEF8[]; - void sub_0802F210(Entity* this) { u32 temp; u32 temp2; @@ -106,8 +104,6 @@ void sub_0802F284(Entity* this) { } } -extern u8 gUnk_080CDEF8[]; - void sub_0802F300(Entity* this) { s32 temp; u32 rand; diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c index 02bf4e39..ded83908 100644 --- a/src/enemy/vaatiBall.c +++ b/src/enemy/vaatiBall.c @@ -136,8 +136,6 @@ void sub_080447E0(Entity* this) { } } -extern u32 sub_080045B4(); -extern u32 sub_0806FCB8(Entity*, u32, u32, u32); extern void sub_08044DEC(); void sub_08044868(Entity* this) { diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c index a788ad58..ffe1d1e9 100644 --- a/src/enemy/wallMaster2.c +++ b/src/enemy/wallMaster2.c @@ -3,7 +3,6 @@ #include "area.h" extern void sub_08001328(Entity*); -extern u32 sub_0806FCB8(Entity*, u32, u32, u32); extern void DoExitTransition(u32*); extern Entity* gUnk_020000B0; diff --git a/src/entity.c b/src/entity.c index cb81ae21..47acc2dc 100644 --- a/src/entity.c +++ b/src/entity.c @@ -54,7 +54,6 @@ void DeleteThisEntity(void) { _call_via_r0((u32*)&_EntUpdate); } -void DeleteEntity(Entity*); void DeleteManager(OtherEntity*); typedef void (*Deleter)(void*); @@ -122,7 +121,6 @@ void ClearAllDeletedEntities(void) { ClearDeletedEntity(ent); } } while (ent++, ent < (&gPlayerEntity + 80)); - return; } extern u8 gEntCount; @@ -161,7 +159,7 @@ OtherEntity* GetEmptyManager(void) { return NULL; } -extern void MemClear32(void*, u32); +extern void MemClear(void*, u32); extern u8 gManagerCount; void DeleteManager(OtherEntity* ent) { @@ -170,7 +168,7 @@ void DeleteManager(OtherEntity* ent) { sub_0805E92C(ent); UnlinkEntity(ent); - MemClear32(ent, sizeof(OtherEntity)); + MemClear(ent, sizeof(OtherEntity)); gManagerCount--; } @@ -290,7 +288,7 @@ bool32 DoesSimilarEntityExist(Entity* ent) { return FALSE; } -Entity* FindEntityInListBySubtype(int type, int subtype, int listIndex) { +Entity* FindEntityInListBySubtype(u32 type, u32 subtype, u32 listIndex) { Entity* it; LinkedList* list; @@ -302,7 +300,7 @@ Entity* FindEntityInListBySubtype(int type, int subtype, int listIndex) { return NULL; } -Entity* FindEntityInListByForm(int type, int subtype, int listIndex, int form, int parameter) { +Entity* FindEntityInListByForm(u32 type, u32 subtype, u32 listIndex, u32 form, u32 parameter) { Entity* i; LinkedList* list; diff --git a/src/fileScreen.c b/src/fileScreen.c index 58fe323f..1862bdb6 100644 --- a/src/fileScreen.c +++ b/src/fileScreen.c @@ -1,4 +1,5 @@ #include "fileScreen.h" +#include "dma.h" // copy, erase, start #define NUM_FILE_OPERATIONS 3 @@ -105,7 +106,7 @@ void CreateDialogBox(u32 arg0, u32 arg1) { void sub_08050384(void) { sub_0801C4A0(0, 0); - MemClear32(&gBG0Buffer, sizeof(gBG0Buffer)); + MemClear(&gBG0Buffer, sizeof(gBG0Buffer)); gScreen.bg.bg0Updated = 1; } @@ -117,8 +118,8 @@ void sub_080503A8(u32 gfxGroup) { void SetFileSelectState(FileSelectState mode) { gUnk_02032EC0.state = mode; - MemClear32(&gBG0Buffer, sizeof(gBG0Buffer)); - MemClear32(&gBG1Buffer, sizeof(gBG1Buffer)); + MemClear(&gBG0Buffer, sizeof(gBG0Buffer)); + MemClear(&gBG1Buffer, sizeof(gBG1Buffer)); } void LoadOptionsFromSave(u32 idx) { @@ -159,7 +160,7 @@ void HandleChooseFileScreen(void) { gScreen.bg.bg1yOffset = 0; gScreen.affine.bg2xOffset = 0; gScreen.affine.bg2yOffset = 0; - MemClear32(&gChooseFileState, sizeof(gChooseFileState)); + MemClear(&gChooseFileState, sizeof(gChooseFileState)); } HideButtonR(); @@ -184,17 +185,17 @@ static void HandleFileScreenEnter(void) { sub_0801DA90(1); sub_080A3210(); - MemClear32((void*)VRAM, 0x80); // clear palettes + MemClear((void*)VRAM, 0x80); // clear palettes MessageInitialize(); EraseAllEntities(); sub_08080668(); sub_080ADD30(); sub_0801CFA8(0); - MemClear32(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); - MemClear32(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); + MemClear(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); + MemClear(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); gUnk_02019EE0.unk3 = 7; gUnk_02019EE0.unk6 = gUnk_02000000->gameLanguage > LANGUAGE_EN ? 3 : 0; - MemClear32(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); + MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); gUnk_02032EC0.lastState = 8; SetFileSelectState(STATE_NONE); InitDMA(); @@ -284,7 +285,7 @@ void sub_0805070C(void) { var0->unk8 = gUnk_02000D00; for (i = 0; i < NUM_SAVE_SLOTS; i++) { var0->unk6 = 0; - MemClear32(var0->unk8, 0x200); + MemClear(var0->unk8, 0x200); playerName = &gUnk_02019EE0.saves[i].playerName[0]; for (j = 0; j < FILENAME_LENGTH; j++) { sub_0805F7DC(playerName[j], var0); @@ -489,7 +490,7 @@ void sub_08050B3C(u16*); void sub_08050AFC(u32 idx) { SetActiveSave(idx); - MemClear32(&gBG1Buffer, sizeof(gBG1Buffer)); + MemClear(&gBG1Buffer, sizeof(gBG1Buffer)); if (gUnk_02019EE0.saveStatus[idx] == SAVE_VALID) { sub_08050B3C(&gBG1Buffer.unk29C); } @@ -645,7 +646,7 @@ void HandleFileLanguageSelect(void) { } void sub_08050DB8(void) { - MemClear32(&gBG2Buffer, sizeof(gBG2Buffer)); + MemClear(&gBG2Buffer, sizeof(gBG2Buffer)); sub_080503A8(0xc); gMenu.field_0x4 = gUnk_02000000->gameLanguage; sub_080A7114(1); @@ -980,7 +981,6 @@ u32 sub_080514BC(u32 a1) { switch (a1) { default: case 0x0: - return c - 0x33; case 0xe: return c - 0x33; case 0xf: @@ -1186,7 +1186,7 @@ void sub_0805194C(u32 save_idx) { gUnk_02019EE0.saveStatus[save_idx] = 0; save = &gUnk_02019EE0.saves[save_idx]; - MemClear32(save, sizeof(*save)); + MemClear(save, sizeof(*save)); save->messageSpeed = 1; save->brightnessPref = 1; save->stats.health = 24; diff --git a/src/game.c b/src/game.c index db28c2ab..bf44ea66 100644 --- a/src/game.c +++ b/src/game.c @@ -1,6 +1,7 @@ #include "global.h" #include "screen.h" #include "structures.h" +#include "dma.h" #include "functions.h" #include "screen.h" #include "entity.h" @@ -12,7 +13,6 @@ #include "fileScreen.h" extern u8 gArea; -extern Entity gPlayerEntity; extern u32 gUnk_03000B80; extern u32 gUnk_03003FC0; @@ -219,7 +219,7 @@ NONMATCH("asm/non_matching/game/sub_08052418.inc", void sub_08052418(int param_1 int i; struct_080FCA8C temp; - MemClear32(&gBG1Buffer, 0x800); + MemClear(&gBG1Buffer, 0x800); gUnk_020227E8._0[0].WORD = 0xf; gUnk_020227E8._0[2].WORD = 0xf; gUnk_020227E8._0[4].WORD = 0xf; @@ -238,12 +238,12 @@ void InitializePlayer(void) { Entity* pl; sub_080784C8(); - MemClear32((void*)&gUnk_03000B80, 0x70); - MemClear32((void*)&gPlayerState, 0xb0); + MemClear((void*)&gUnk_03000B80, 0x70); + MemClear((void*)&gPlayerState, 0xb0); MemFill32(0xffffffff, &gPlayerState.field_0x40, 0x40); pl = &gPlayerEntity; - MemClear32((void*)pl, 0x88); + MemClear((void*)pl, 0x88); gRoomControls.cameraTarget = pl; gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf]; if (!CheckGlobalFlag(0x14)) { diff --git a/src/intro.c b/src/intro.c index 9bc22124..a0eb8db7 100644 --- a/src/intro.c +++ b/src/intro.c @@ -2,6 +2,7 @@ #include "menu.h" #include "main.h" #include "entity.h" +#include "dma.h" #include "functions.h" #include "readKeyInput.h" #include "screen.h" @@ -55,7 +56,7 @@ static const u16 sLightRaysAlphaBlends[] = { static u32 AdvanceIntroSequence(u32 transition) { gUnk_02032EC0.lastState = transition; gMain.funcIndex = 2; - MemClear32(&gIntroState, sizeof(gIntroState)); + MemClear(&gIntroState, sizeof(gIntroState)); DoFade(7, 8); } @@ -64,7 +65,7 @@ void HandleIntroScreen(void) { switch (gMain.funcIndex) { case 0: MessageInitialize(); - MemClear32(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); + MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); AdvanceIntroSequence(0); break; case 1: @@ -212,7 +213,6 @@ static void UpdatePressStartIcon(void) { gOamCmd.x = 120; gOamCmd.y = 152; sub_080ADA14(511, 1); - return; } static void UpdateSwordBgAffineData(void) { diff --git a/src/item.c b/src/item.c index ad7a419b..fa23bd31 100644 --- a/src/item.c +++ b/src/item.c @@ -1,6 +1,7 @@ #include "global.h" #include "entity.h" #include "item.h" +#include "functions.h" // TODO - How does this relate to PlayerItemFunctions? Is this just a lookup table? void (*const gItemFunctions[])(ItemBehavior*, u32) = { @@ -11,7 +12,6 @@ void (*const gItemFunctions[])(ItemBehavior*, u32) = { }; extern void sub_08077E78(ItemBehavior*, u32); -extern void SoundReq(u32); extern void sub_08078F60(void); extern void sub_08077D38(ItemBehavior*, u32); extern void sub_0805E544(void); @@ -28,7 +28,6 @@ extern void (*const gUnk_0811BDE0[])(ItemBehavior* beh, u32); extern void (*const gUnk_0811BDE8[])(ItemBehavior* beh, u32); extern void (*const gUnk_0811BDF4[])(ItemBehavior* beh, u32); -extern u8 gUnk_02034490; #if 0 void Ocarina(ItemBehavior* beh, u32 inputFlags) { gOcarinaStates[beh->stateID](beh, inputFlags); @@ -50,7 +49,7 @@ void OcarinaUse(ItemBehavior *beh, u32 arg1) gPlayerEntity.field_0x7a = 2; gPlayerState.flags.all |= 0x10000000; gPlayerState.field_0x27[0] = 0xff; - gUnk_02034490 = 1; + gUnk_02034490[0] = 1; bVar1 = (8 >> arg1); gPlayerState.field_0xa |= bVar1; gPlayerState.keepFacing |= bVar1; diff --git a/src/item11.c b/src/item11.c index 5821d0b5..5365582e 100644 --- a/src/item11.c +++ b/src/item11.c @@ -1,11 +1,10 @@ #include "global.h" #include "entity.h" #include "player.h" +#include "functions.h" -extern void DeleteThisEntity(); extern void sub_08078CD0(Entity*); extern void sub_08018FA0(Entity*); -extern u32 sub_0801766C(Entity*); extern void sub_08018F6C(Entity*); extern void (*const gUnk_080B3DD0[])(Entity*); diff --git a/src/loadRoom.c b/src/loadRoom.c index 04b8e02c..e5f9e636 100644 --- a/src/loadRoom.c +++ b/src/loadRoom.c @@ -1,10 +1,9 @@ #include "global.h" #include "room.h" #include "flags.h" +#include "functions.h" -void LoadRoomEntityList(EntityData* dat); extern void sub_0804B058(EntityData* dat); -extern void LoadRoomTileEntities(EntityData* dat); extern void sub_0801AC98(); extern u32 sub_08049D1C(u32); extern Entity* LoadRoomEntity(EntityData*); diff --git a/src/main.c b/src/main.c index 71c1347b..c05d9945 100644 --- a/src/main.c +++ b/src/main.c @@ -1,4 +1,5 @@ #include "global.h" +#include "dma.h" #include "functions.h" #include "structures.h" #include "main.h" @@ -36,7 +37,7 @@ void MainLoop(void) { MessageInitialize(); sub_080ADD30(); gRand = 0x1234567; - MemClear32(&gMain, sizeof(gMain)); + MemClear(&gMain, sizeof(gMain)); InitScreen(SCREEN_INTRO); while (1) { ReadKeyInput(); @@ -92,7 +93,7 @@ static void sub_08055F70(void) { *(vu16*)BG_PLTT = 0x7FFF; REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; size = 0x3FFD0; - MemClear32(gUnk_02000030, size); + MemClear(gUnk_02000030, size); size = (u32)gUnk_080B2CD8 - (u32)sub_080B197C; if (size != 0) { MemCopy(sub_080B197C, gUnk_030056F0, size); @@ -185,7 +186,7 @@ NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) { b = 1; } if (b != 0) { - MemClear32((u8*)&gUnk_02000010.signature, 0x20); + MemClear((u8*)&gUnk_02000010.signature, 0x20); gUnk_02000010.signature = SIGNATURE; } } diff --git a/src/manager/manager1.c b/src/manager/manager1.c index 2b06a48f..45e1b000 100644 --- a/src/manager/manager1.c +++ b/src/manager/manager1.c @@ -1,12 +1,11 @@ #include "global.h" #include "entity.h" #include "screen.h" +#include "functions.h" -extern void LoadGfxGroup(u32); extern void sub_08056250(void); extern void sub_080570B8(Entity*); void sub_080570F8(void); -extern void sub_08052D74(void*, void*, void*); extern void (*const gUnk_08107C5C[])(Entity*); extern void (*const gUnk_08107C48[])(Entity*); diff --git a/src/manager/manager15.c b/src/manager/manager15.c index 87135c56..60ca8f5a 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -295,7 +295,6 @@ void sub_0805A758(Manager15* this) { } extern void sub_0805E4E0(Manager*, u32); -extern void sub_08077B20(void); void sub_0805A76C(Manager15* this) { if ((gPlayerEntity.currentHealth != 0) && (gPlayerEntity.height.HALF.HI == 0) && (!gPlayerState.field_0x2c)) { @@ -364,7 +363,6 @@ void sub_0805A804(Manager15* this) { } void sub_0805AAC8(Manager15*); -extern void sub_08052D74(void*, void*, void*); void sub_0805A89C(Manager15* this) { sub_0805E3A0(this, 6); diff --git a/src/manager/manager1A.c b/src/manager/manager1A.c index 19a1dbca..fc08d6cc 100644 --- a/src/manager/manager1A.c +++ b/src/manager/manager1A.c @@ -4,6 +4,7 @@ #include "entity.h" #include "room.h" #include "screen.h" +#include "dma.h" #include "functions.h" typedef struct { @@ -29,7 +30,6 @@ void sub_0805B030(Manager1A* this) { gUnk_08108668[this->manager.action](this); } -extern void sub_08052D74(void*, void*, void*); extern u32 sub_0806FBFC(u32, u32, u32, u32); typedef struct struct_08108764 { @@ -65,13 +65,12 @@ u32 sub_0805B1CC(Manager1A*); void sub_0805B210(Manager1A*); void sub_0805B2B0(Manager1A*); void sub_0805B328(Manager1A*); -void sub_0805BC4C(void); void sub_0805B048(Manager1A* this) { struct_08108764* tmp; Entity* obj; sub_0805E3A0(&this->manager, 6); - MemClear32(&this->unk_20, 0x20); + MemClear(&this->unk_20, 0x20); this->manager.action = 1; this->unk_3f = gRoomControls.roomID; tmp = &gUnk_08108764[this->manager.unk_0a]; diff --git a/src/manager/manager1E.c b/src/manager/manager1E.c index 363c3113..298e7860 100644 --- a/src/manager/manager1E.c +++ b/src/manager/manager1E.c @@ -17,7 +17,6 @@ typedef struct { enum Manager1E_State { Init, ObserveRegion }; -void Manager1E_Handler(Manager1E*); void Manager1E_Init(Manager1E*); void Manager1E_ObserveRegion(Manager1E*); diff --git a/src/manager/manager2.c b/src/manager/manager2.c index 56c81310..b6e0eef7 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -1,9 +1,9 @@ #include "global.h" #include "entity.h" #include "screen.h" +#include "functions.h" extern void sub_080576A0(); -extern void sub_08052D74(); extern void sub_0805754C(Entity*); void Manager2(Entity* this) { diff --git a/src/manager/manager20.c b/src/manager/manager20.c index b8a20f5f..f7ca8a0b 100644 --- a/src/manager/manager20.c +++ b/src/manager/manager20.c @@ -3,6 +3,7 @@ #include "flags.h" #include "entity.h" #include "room.h" +#include "functions.h" typedef struct { Manager manager; @@ -17,8 +18,6 @@ typedef struct { u16 unk_3e; } Manager20; -extern void DeleteManager(Manager20*); - void sub_0805B7A0(Manager20* this) { Entity* tmp = CreateObject(this->manager.unk_0e, this->manager.unk_0a, this->manager.unk_0b); if (!tmp) @@ -35,5 +34,5 @@ void sub_0805B7A0(Manager20* this) { } tmp->x.HALF.HI += gRoomControls.roomOriginX; tmp->y.HALF.HI += gRoomControls.roomOriginY; - DeleteManager(this); + DeleteManager((Manager*)this); } diff --git a/src/manager/manager27.c b/src/manager/manager27.c index b2e0e15a..5ef41a57 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -4,7 +4,6 @@ #include "functions.h" extern u32 sub_0805C920(Entity*); -extern void LoadPaletteGroup(u32); void sub_0805C874(Entity*); void sub_0805C894(Entity*); diff --git a/src/manager/manager28.c b/src/manager/manager28.c index af59e09e..f60541e2 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -11,7 +11,6 @@ typedef struct { } d; } Manager28; -void Manager28_Entry(Manager28*); void Manager28_Init(Manager28*); void Manager28_Main(Manager28*); u32 Manager28_FindMatchingEntities(Manager28*); diff --git a/src/manager/manager30.c b/src/manager/manager30.c index 8cfde746..84101118 100644 --- a/src/manager/manager30.c +++ b/src/manager/manager30.c @@ -19,8 +19,6 @@ typedef struct Manager30 { u16 flag_reset; } Manager30; -extern void sub_0807B7D8(u32, u32, u32); - enum { INIT, IN_PROGRESS, FAILED, SUCCEEDED }; /* diff --git a/src/manager/manager39.c b/src/manager/manager39.c index 31cbda7e..8c1c1532 100644 --- a/src/manager/manager39.c +++ b/src/manager/manager39.c @@ -3,6 +3,7 @@ #include "screen.h" #include "area.h" #include "textbox.h" +#include "dma.h" #include "functions.h" typedef struct { @@ -25,9 +26,7 @@ extern const u8 gUnk_08108E30[0x18]; extern const u8 gUnk_08108E48[0x18]; extern const u8 gUnk_08108E60[]; -extern void MemCopy(const void* src, void* dest, u32 size); extern void sub_0805F46C(void*, const void*); -extern u32 CheckIsDungeon(void); extern void sub_0805E5B4(void); void sub_0805E140(Manager39*); @@ -68,7 +67,7 @@ void sub_0805E18C(Manager39* this) { } void sub_0805E1D8(Manager39* this) { - MemClear32(&gUnk_02034DF0, 0x80); + MemClear(&gUnk_02034DF0, 0x80); gScreen.bg.bg0Updated = 1; DeleteThisEntity(); } @@ -81,7 +80,7 @@ void sub_0805E1F8(u32 unk0, u32 unk1) { u8 unk_06[3]; } PACKED tmp; const u8* tmp2; - MemClear32(&gUnk_02034DF0, 0x80); + MemClear(&gUnk_02034DF0, 0x80); MemCopy(gUnk_08108E60, &tmp, sizeof(tmp)); tmp.unk_04 = unk0 >> 8; tmp.unk_05 = unk0; diff --git a/src/manager/manager4.c b/src/manager/manager4.c index 2ebdf7d3..3d396682 100644 --- a/src/manager/manager4.c +++ b/src/manager/manager4.c @@ -3,6 +3,7 @@ #include "room.h" #include "manager.h" #include "structures.h" +#include "functions.h" extern void (*gUnk_08107C70[])(Manager*); @@ -12,8 +13,6 @@ void sub_08057854(Manager* this) { extern void sub_080805F8(void); -extern void SetTile(u32, u32, u32); - extern DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance*, int); void sub_0805786C(Manager* this) { @@ -101,8 +100,6 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { } #endif -extern void sub_0805E5A8(void); -extern void DeleteManager(Manager*); extern void sub_08080930(); void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) { diff --git a/src/manager/manager5.c b/src/manager/manager5.c index ec7ee400..4681e754 100644 --- a/src/manager/manager5.c +++ b/src/manager/manager5.c @@ -34,8 +34,6 @@ void sub_08057AD0(Manager5* this) { void sub_08057CA4(Manager5*, u32, u32); -extern void DeleteManager(Manager*); - void sub_08057AE8(Manager5* this) { u32 tmp; tmp = (this->manager.unk_0b & 0x3) << 1; diff --git a/src/manager/manager6.c b/src/manager/manager6.c index aa5cb48a..a17fd16b 100644 --- a/src/manager/manager6.c +++ b/src/manager/manager6.c @@ -1,12 +1,9 @@ #include "global.h" -#include "entity.h" #include "player.h" #include "manager.h" +#include "functions.h" -extern void* GetCurrentRoomProperty(u8); -extern u32 CheckPlayerInRegion(u16, u16, u8, u8); extern void DoExitTransition(void*); -extern void DeleteManager(Entity*); void sub_08057CB4(Manager6* this) { u32 tmp; @@ -15,7 +12,7 @@ void sub_08057CB4(Manager6* this) { this->manager.action = 1; this->warpList = GetCurrentRoomProperty(this->manager.unk_0a); if (!this->warpList) { - DeleteManager((Entity*)this); + DeleteManager((Manager*)this); return; } } diff --git a/src/manager/manager7.c b/src/manager/manager7.c index 3a2cbb1a..089dab1b 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -12,12 +12,9 @@ typedef struct { void sub_08057E30(); u32 sub_08057E40(); -void sub_08057E64(); void sub_08057E7C(u32); -extern void sub_08052D74(); extern u32 sub_08056300(const u16*); -extern void sub_0805E3A0(); extern const u8 gGlobalGfxAndPalettes[]; diff --git a/src/manager/manager8.c b/src/manager/manager8.c index c6cd5075..aa80b627 100644 --- a/src/manager/manager8.c +++ b/src/manager/manager8.c @@ -17,8 +17,6 @@ void sub_08057EFC(); void sub_08058034(void); void sub_08058084(u16*, u16*); -extern void sub_08052D74(void*, void*, void*); - extern u16 gMapDataTopSpecial[]; void sub_08057ED0(Manager8* this) { diff --git a/src/manager/manager9.c b/src/manager/manager9.c index 70d117fb..aebc9a96 100644 --- a/src/manager/manager9.c +++ b/src/manager/manager9.c @@ -15,7 +15,6 @@ void sub_08058210(Manager9*); u32 sub_08058244(int); void sub_080582A0(u32, u32*, u8*); void sub_080582F8(u8*, u8*); -void sub_08058324(); extern u32 gUnk_02006F00[]; extern u8 gBG3Buffer[]; diff --git a/src/manager/managerA.c b/src/manager/managerA.c index 3033dd21..4b4a2ce4 100644 --- a/src/manager/managerA.c +++ b/src/manager/managerA.c @@ -4,6 +4,7 @@ #include "manager.h" #include "flags.h" #include "area.h" +#include "functions.h" void sub_08058398(ManagerA*); void sub_080583EC(ManagerA*); @@ -17,8 +18,6 @@ void sub_08058380(ManagerA* this) { gUnk_081081F4[this->manager.action](this); } -extern void sub_0805E3A0(Manager*, u32); - void sub_08058398(ManagerA* this) { if (CheckFlags(this->unk_3c) != 0) { @@ -36,8 +35,6 @@ void sub_08058398(ManagerA* this) { } } -void sub_08058408(ManagerA*); - void sub_080583EC(ManagerA* this) { if (CheckFlags(this->unk_3e) != 0) { this->manager.action = 2; @@ -45,12 +42,8 @@ void sub_080583EC(ManagerA* this) { } } -extern u32 CheckPlayerInRegion(u32, u32, u32, u32); extern void sub_0805E544(void); -extern void sub_08078A90(u32); -extern void sub_08078AA8(u32, u32); extern void sub_080186C0(u16); -extern void sub_08078B48(void); u32 sub_0805848C(ManagerA*); void sub_080585DC(ManagerA*); diff --git a/src/manager/managerB.c b/src/manager/managerB.c index e6e43a12..cfa48775 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -4,6 +4,7 @@ #include "entity.h" #include "room.h" #include "area.h" +#include "dma.h" #include "functions.h" /* @@ -128,7 +129,7 @@ ManagerBHelper* CreateHelper(Manager* this) { extra->manager.unk_0a = 1; extra->manager.parent = this; this->unk_0e++; - MemClear32(&extra->enemies, 0x20); + MemClear(&extra->enemies, 0x20); AppendEntityToList(extra, 8); } return extra; diff --git a/src/manager/managerC.c b/src/manager/managerC.c index 72529c2f..972fc67b 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -40,12 +40,9 @@ void sub_08058A04(ManagerC*); void sub_080588F8(ManagerC*); u32 sub_08058B08(ManagerC*, u32, u32, const struct_08108228*); void sub_08058B5C(ManagerC*, u32); -void sub_08058D34(void); extern void sub_0805622C(struct BgAffineDstData*, u32, u32); -extern void sub_08052D74(void*, void*, void*); extern void sub_080044AE(Entity*, u32, u32); -extern void MemCopy(const void* src, void* dest, u32 size); extern u8 gUnk_03003DE4[0xC]; @@ -88,7 +85,7 @@ void sub_080588CC(ManagerC* this) { void nullsub_108(ManagerC* this) { } -#define ABS_DIFF_GT(a, b, c) (signed)a - b >= 0 ? a - b > c : b - a > c +#define ABS_DIFF_GT(a, b, c) ((signed)(a) - (b) >= 0 ? (a) - (b) > (c) : (b) - (a) > (c)) void sub_080588F8(ManagerC* this) { if (this->manager.unk_0f == 0) { diff --git a/src/manager/managerE.c b/src/manager/managerE.c index 0f5e9328..44bfb5a7 100644 --- a/src/manager/managerE.c +++ b/src/manager/managerE.c @@ -3,13 +3,7 @@ #include "manager.h" #include "flags.h" #include "room.h" - -extern void LoadRoomEntityList(Entity*); -extern void DeleteThisEntity(void); -extern void DeleteManager(Manager*); -extern void sub_08078A90(u32); -extern void sub_08078B48(void); -extern void SoundReq(u32); +#include "functions.h" void sub_08058E60(ManagerE* this) { if (!this->manager.action) { diff --git a/src/npc/anju.c b/src/npc/anju.c index b0b0ee91..3e52d5a0 100644 --- a/src/npc/anju.c +++ b/src/npc/anju.c @@ -6,14 +6,8 @@ #include "sprite.h" #include "textbox.h" #include "npc.h" - -extern void sub_0805E3A0(Entity*, u32); -extern void sub_0807DD50(Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); -extern void sub_0807DD94(Entity*, u32); -extern u32 sub_0801E99C(void); -extern void sub_08078784(Entity*, u32); +#include "script.h" +#include "functions.h" void Anju(Entity* this) { switch (this->action) { @@ -43,7 +37,7 @@ void Anju(Entity* this) { } void sub_0806C354(Entity* this) { - this->field_0x68.HALF.LO = sub_0801E99C(); + this->field_0x68.HALF.LO = sub_0801E99C(this); sub_08078784(this, this->field_0x68.HALF.LO); } diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 2874115f..25b5b50d 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -8,12 +8,6 @@ extern void (*gUnk_081140D4[])(Entity*); extern u16 gUnk_081140CC[]; -extern void sub_0806D0B0(Entity*); -extern void sub_0807DD64(Entity*); -extern void sub_0807DDE4(Entity*); -extern void SoundReq(u32); -extern void sub_0806D02C(Entity*); -extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32); void BigGoron(Entity* this) { gUnk_081140D4[this->type](this); diff --git a/src/npc/carlov.c b/src/npc/carlov.c index d3824e78..305e48e3 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -7,10 +7,9 @@ #include "textbox.h" #include "npc.h" #include "structures.h" +#include "functions.h" -extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); -extern void EnqueueSFX(u32); void Carlov(Entity* this) { if (this->action == 0) { diff --git a/src/npc/carpenter.c b/src/npc/carpenter.c index f4bdb04a..53e719f8 100644 --- a/src/npc/carpenter.c +++ b/src/npc/carpenter.c @@ -2,20 +2,10 @@ #include "entity.h" #include "sprite.h" #include "player.h" +#include "functions.h" -extern void DeleteThisEntity(); -extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); extern SpriteLoadData gUnk_08110CA8[]; -extern void sub_0805E3A0(Entity*, u32); -extern void sub_0807DD64(Entity*); -extern u32 GetFacingDirection(Entity*, Entity*); -extern void sub_0806F118(Entity*); extern void sub_0807DDAC(Entity*, u32); -extern void sub_0807DDE4(Entity*); -extern u32 UpdateFuseInteraction(Entity*); -extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); -extern void sub_0807000C(Entity*); -extern u32 sub_0806F5A4(); void Carpenter(Entity* this) { if (*(u32*)&this->cutsceneBeh == 0) { diff --git a/src/npc/cow.c b/src/npc/cow.c index aeb62982..18e18927 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -3,20 +3,9 @@ #include "player.h" #include "functions.h" -extern void sub_0806920C(Entity*); -extern u32 sub_0805ACC0(Entity*); -extern u32 sub_0801E99C(Entity*); -extern void sub_0806924C(Entity*); -extern void sub_08078778(Entity*); -extern void sub_080787A8(Entity*, u32); -extern void sub_0806F118(Entity*); -extern void sub_080791D0(); extern void (*gUnk_08111914[])(Entity*); extern void (*gUnk_08111928[])(Entity*); extern Dialog gUnk_08111938[]; -extern void SoundReq(u32); -extern u32 UpdateFuseInteraction(Entity*); -extern PlayerState gPlayerState; void Cow(Entity* ent) { gUnk_08111914[ent->action](ent); diff --git a/src/npc/dampe.c b/src/npc/dampe.c index f424c1d8..447fd069 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -6,14 +6,9 @@ #include "sprite.h" #include "textbox.h" #include "npc.h" +#include "functions.h" -extern void sub_0805E3A0(Entity*, u32); -extern void sub_0807DD50(Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); extern void sub_0807DD94(Entity*, u32); -extern u32 sub_0801E99C(void); -extern void sub_08078784(Entity*, u32); extern u16 gUnk_08113344[]; extern u16 gUnk_0811334A[]; @@ -52,7 +47,7 @@ void Dampe(Entity* this) { } void sub_0806BE3C(Entity* this) { - this->field_0x68.HALF.LO = sub_0801E99C(); + this->field_0x68.HALF.LO = sub_0801E99C(this); sub_08078784(this, this->field_0x68.HALF.LO); } diff --git a/src/npc/emma.c b/src/npc/emma.c index c43b961c..cee0b683 100644 --- a/src/npc/emma.c +++ b/src/npc/emma.c @@ -1,18 +1,15 @@ #include "global.h" #include "entity.h" +#include "functions.h" extern u32 gUnk_0813AD10; extern u32 gUnk_0813AD24; extern u32 gUnk_0813AD38; -extern void sub_0805E3A0(Entity*, u32); -extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); extern void DoExitTransition(u32*); -void Emma(Entity* param_1) - -{ +void Emma(Entity* param_1) { if (param_1->action == 0) { param_1->action += 1; sub_0805E3A0(param_1, 2); @@ -20,26 +17,16 @@ void Emma(Entity* param_1) } else { sub_0807DD94(param_1, 0); } - return; } -void sub_0806C578(void) - -{ +void sub_0806C578(void) { DoExitTransition(&gUnk_0813AD10); - return; } -void sub_0806C588(void) - -{ +void sub_0806C588(void) { DoExitTransition(&gUnk_0813AD24); - return; } -void FUN_0806c598(void) - -{ +void FUN_0806c598(void) { DoExitTransition(&gUnk_0813AD38); - return; } diff --git a/src/npc/ezloCap.c b/src/npc/ezloCap.c index 13ecd8f9..715dcf2f 100644 --- a/src/npc/ezloCap.c +++ b/src/npc/ezloCap.c @@ -342,7 +342,6 @@ extern ScreenTransitionData gUnk_0813ACAC; extern ScreenTransitionData gUnk_0813ACC0; extern ScreenTransitionData gUnk_0813ACD4; extern ScreenTransitionData gUnk_0813ACE8; -extern ScreenTransitionData gUnk_0813AC5C; extern ScreenTransitionData gUnk_0813ACFC; // Array of pointers to ScreenTransitionData const ScreenTransitionData* const gUnk_081141A4[] = { &gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8, diff --git a/src/npc/festari.c b/src/npc/festari.c index ad1635bd..2cbe44c6 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -5,10 +5,6 @@ #include "player.h" #include "script.h" -extern u32 sub_0801E99C(Entity*); -extern void sub_08078784(Entity*, u32); -extern void sub_0807DD50(Entity*); -extern void sub_0806F118(Entity*); extern void sub_0805FF2C(Entity*, void*); extern void (*const gUnk_08109BBC[])(Entity*); diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index ce829a81..a44f413b 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -9,19 +9,9 @@ #include "save.h" #include "script.h" -extern void sub_0807DD50(Entity*); -extern void sub_0806F118(Entity*); -extern void sub_0807DDE4(Entity*); extern void sub_080600F0(Entity*); extern s32 sub_0806EDD8(Entity*, u32, u32); -extern u32 sub_0806F5B0(u32); -extern u32 sub_0801E99C(Entity*); -extern void sub_08078784(Entity*, u32); -extern void sub_0807000C(Entity*); extern void sub_08060158(Entity*); -extern u32 CheckKinstoneFused(u32); -extern Entity* FindEntityInListBySubtype(u32, u32, u32); -extern void DeleteEntity(Entity*); extern void ModBombs(s32); extern SpriteLoadData gUnk_0810A348; diff --git a/src/npc/gentari.c b/src/npc/gentari.c index b7387777..cc086d8a 100644 --- a/src/npc/gentari.c +++ b/src/npc/gentari.c @@ -2,14 +2,8 @@ #include "entity.h" #include "npc.h" #include "player.h" - -extern void sub_0805E3A0(Entity*, u32); -extern u32 sub_0801E99C(Entity*); -extern void sub_08078784(Entity*, u32); -extern void sub_0807DD50(Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); -extern void sub_0807DD94(Entity*, u32); +#include "script.h" +#include "functions.h" void Gentari(Entity* this) { switch (this->action) { diff --git a/src/npc/guard.c b/src/npc/guard.c index 782253ee..052fa98f 100644 --- a/src/npc/guard.c +++ b/src/npc/guard.c @@ -4,36 +4,24 @@ #include "flags.h" #include "textbox.h" #include "room.h" +#include "structures.h" +#include "functions.h" typedef struct { u32 unk; u32 entityCount; } struct_03003DB8; -typedef struct { - u8 filler[8]; - u8 unk; -} ScreenTransition; - typedef struct { u32 unk; u32 unk2; } struct_08064050; extern void sub_08063D24(Entity*); -extern void sub_0806ED78(Entity*); -extern u32 GetFacingDirection(Entity*, Entity*); -extern u32 sub_0806F5A4(u32); extern void sub_0806EE20(Entity*); extern void sub_08064428(Entity*); -extern u32 sub_0805ACC0(Entity*); extern void sub_0807DDAC(Entity*, u32); -extern void sub_0807DDE4(Entity*); -extern void sub_0807000C(Entity*); extern void sub_0806EE04(Entity*, void*, u32); -extern Entity* sub_080A7EE0(int); -extern void sub_08078778(Entity*); -extern void sub_0807DD64(Entity*); void sub_08063DC8(Entity*); void sub_08063F20(Entity*); @@ -220,7 +208,7 @@ void sub_08064030(Entity* arg0, Entity* arg1) { } void sub_08064044(void) { - gScreenTransition.unk = 1; + gScreenTransition.transitioningOut = 1; } void sub_08064050(Entity* arg0, struct_08064050* arg1) { diff --git a/src/npc/mailbox.c b/src/npc/mailbox.c index 6ccdd0a8..bab9a8ba 100644 --- a/src/npc/mailbox.c +++ b/src/npc/mailbox.c @@ -1,8 +1,8 @@ #include "global.h" #include "entity.h" #include "textbox.h" +#include "functions.h" -extern void sub_0806ED78(Entity*); extern void sub_08063280(); extern void (*gMailboxBehaviors[4])(Entity*); diff --git a/src/npc/malon.c b/src/npc/malon.c index ca6d6eab..47052160 100644 --- a/src/npc/malon.c +++ b/src/npc/malon.c @@ -3,8 +3,6 @@ #include "entity.h" #include "script.h" -extern Entity gPlayerEntity; - extern void (*gUnk_0810FF5C[])(Entity* this); extern void (*gUnk_0810FF64[])(Entity* this); diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index df7366dd..0af6cdf9 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -11,17 +11,9 @@ #include "save.h" #include "script.h" -extern void sub_0807DD50(Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); -extern void sub_08078784(Entity*, u32); -extern void sub_0807DDE4(Entity*); extern void sub_08078850(); extern u32 gUnk_08113F44; extern Dialog gUnk_08113F48[]; -extern u32 GetInventoryValue(u32); -extern u32 CheckLocalFlag(u32); -extern void SetLocalFlag(); void MayorHagen(Entity* this) { u32 v; diff --git a/src/npc/melari.c b/src/npc/melari.c index 38bc4e54..9758c20d 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -6,18 +6,7 @@ #include "script.h" extern void sub_08068780(Entity*); -extern void sub_08078778(Entity*); -extern void sub_0807DD50(Entity*); -extern void sub_0806F118(Entity*); -extern void sub_0807DDE4(Entity*); -extern u32 sub_080040A8(Entity*); -extern void EnqueueSFX(u32); -extern u32 sub_0801E99C(Entity*); -extern void sub_08078784(Entity*, u32); -extern void sub_0807000C(Entity*); extern s32 sub_0806EDD8(Entity*, u32, u32); -extern void sub_080A7C18(u32, u32, u32); -extern void sub_0807CAA0(u32, u32); extern void (*const gUnk_08111530[])(Entity*); diff --git a/src/npc/milkCart.c b/src/npc/milkCart.c index b423dca7..29481848 100644 --- a/src/npc/milkCart.c +++ b/src/npc/milkCart.c @@ -1,7 +1,6 @@ #include "global.h" #include "entity.h" - -extern void sub_0806ED78(); +#include "functions.h" extern void (*gMilkCartBehaviors[2])(Entity*); diff --git a/src/npc/moblinLady.c b/src/npc/moblinLady.c index 640c09d9..79152daf 100644 --- a/src/npc/moblinLady.c +++ b/src/npc/moblinLady.c @@ -6,8 +6,8 @@ #include "sprite.h" #include "textbox.h" #include "npc.h" -extern void sub_0807DD50(); -extern void sub_0807DD94(); +#include "script.h" +#include "functions.h" void MoblinLady(Entity* this) { if (this->action == 0) { diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index 998a54a6..5391ac8d 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -9,15 +9,6 @@ #include "save.h" #include "script.h" -extern void sub_0807DD50(Entity*); -extern u32 GetFacingDirection(Entity*, Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); -extern u32 UpdateFuseInteraction(Entity*); -extern void sub_0807000C(Entity*); -extern u32 sub_0801E99C(Entity*); -extern void sub_08078784(Entity*, u32); - extern SpriteLoadData gUnk_08110C00; extern u16 gUnk_08110C0C[]; extern Dialog gUnk_08110C10[]; diff --git a/src/npc/npc9.c b/src/npc/npc9.c index 47cc501b..23a0bd3e 100644 --- a/src/npc/npc9.c +++ b/src/npc/npc9.c @@ -1,11 +1,7 @@ #include "global.h" #include "entity.h" #include "textbox.h" - -extern void sub_08078778(Entity*); -extern void sub_0805E47C(Entity*); -extern void sub_0806ED78(Entity*); -extern void sub_0805E584(Entity*); +#include "functions.h" extern void (*const gUnk_0810C290[])(Entity*); diff --git a/src/npc/percy.c b/src/npc/percy.c index a2a8fcd8..3c5c8a01 100644 --- a/src/npc/percy.c +++ b/src/npc/percy.c @@ -10,7 +10,6 @@ extern void sub_0806B41C(Entity*); extern void sub_0806B3CC(Entity*); extern u32 sub_08002632(Entity*); -extern void sub_0801DFB4(Entity*, u32, u32, u32); extern u16* gUnk_08001A7C[40]; extern u16 gUnk_08112E54[4]; diff --git a/src/npc/postman.c b/src/npc/postman.c index 532f129f..6331461f 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -10,23 +10,11 @@ #include "script.h" extern void sub_08060528(Entity*); -extern void* GetCurrentRoomProperty(u32); extern void sub_0806EE04(Entity*, void*, u32); extern void sub_080604DC(Entity*); -extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0806EE20(Entity*); -extern u32 sub_080040A8(Entity*); -extern u32 sub_0801E99C(Entity*); -extern void sub_0807DD50(Entity*); -extern void sub_0806F118(Entity*); -extern u32 sub_0806F5A4(u32); -extern u32 GetFacingDirection(Entity*, Entity*); extern void sub_080606D8(Entity*); -extern void sub_080788E0(Entity*); -extern void EnqueueSFX(u32); extern void sub_080606C0(Entity*); -extern void sub_0800451C(Entity*); -extern void sub_08078784(Entity*, u32); typedef struct { s16 x; diff --git a/src/npc/rem.c b/src/npc/rem.c index a0b87267..a2ba4598 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -3,8 +3,6 @@ #include "entity.h" #include "script.h" -extern void sub_0807DDE4(Entity*); -extern void SoundReq(u32); extern void sub_0806A8C8(Entity*); extern void (*gUnk_08112260[])(Entity*); diff --git a/src/npc/simon.c b/src/npc/simon.c index 35397e80..bfcb19af 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -11,9 +11,6 @@ typedef struct { } struct_0806C2A0; extern void DoExitTransition(void*); -extern void SetTileType(u32, u32, u32); -extern void DoExitTransition(void*); -extern void DoFade(u32, u32); extern void gUnk_0813AD60; extern void gUnk_0813AD74; diff --git a/src/npc/smith.c b/src/npc/smith.c index 3502d8bf..ac3a9d4c 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -5,19 +5,7 @@ #include "save.h" #include "script.h" -extern u32 GetFacingDirection(Entity*, Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); -extern Entity* CreateFx(Entity*, u32, u32); -extern void SoundReq(u32); -extern void sub_0807000C(Entity*); -extern u32 sub_0801E99C(Entity*); -extern void sub_0807DD50(Entity*); -extern void sub_0807DDE4(Entity*); -extern u32 UpdateFuseInteraction(Entity*); -extern u32 GetAnimationState(Entity*); extern void sub_08078850(u32, u32, u32, u32*); -extern void sub_08078784(Entity*, u32); extern void (*const gUnk_08110360[])(Entity*); extern void (*const gUnk_0811036C[])(Entity*); diff --git a/src/npc/stamp.c b/src/npc/stamp.c index a30d31ad..92deb07b 100644 --- a/src/npc/stamp.c +++ b/src/npc/stamp.c @@ -4,13 +4,7 @@ #include "functions.h" #include "script.h" -extern void sub_08078778(Entity*); -extern void sub_0805E47C(Entity*); -extern void sub_0805E584(); -extern void sub_0807DD64(); extern void sub_08062CA4(); -extern void sub_0807DDE4(); -extern u32 CheckKinstoneFused(); extern void (*gStampBehaviors1[4])(Entity*); extern void (*gStampBehaviors2[2])(Entity*); diff --git a/src/npc/syrup.c b/src/npc/syrup.c index 307c75bd..54e28b30 100644 --- a/src/npc/syrup.c +++ b/src/npc/syrup.c @@ -1,19 +1,15 @@ #include "global.h" #include "entity.h" #include "npc.h" - -extern void sub_0807DD50(Entity*); -extern void sub_0806ED78(Entity*); -extern void sub_0805E3A0(Entity*, u32); +#include "script.h" +#include "functions.h" extern void (*gUnk_081121D4[])(Entity*); extern SpriteLoadData gUnk_081121C4; extern SpriteLoadData gUnk_081121B4; -extern u32 gScreenTransition; -extern void sub_0807DD94(Entity*, u32); + extern void sub_0806A26C(Entity*); -extern void sub_080042BA(Entity*, u32); void Syrup(Entity* this) { gUnk_081121D4[this->action](this); @@ -38,7 +34,7 @@ void sub_0806A1F8(Entity* this) { void sub_0806A234(Entity* this) { sub_0807DD94(this, 0); if ((this->field_0x82.HWORD & 4) != 0) { - if ((gScreenTransition & 7) == 0) { + if ((gScreenTransition.frameCount & 7) == 0) { sub_0806A26C(this); } sub_080042BA(this, 2); diff --git a/src/npc/teachers.c b/src/npc/teachers.c index eaae979d..87fb3180 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -6,13 +6,6 @@ #include "script.h" extern SpriteLoadData gUnk_08113910[]; -extern void sub_0807DD50(Entity*); -extern u32 GetFacingDirection(Entity*, Entity*); -extern u32 sub_0806F5A4(u32); -extern void sub_0806F118(Entity*); -extern void sub_08078784(Entity*, u32); -extern u32 UpdateFuseInteraction(Entity*); -extern void sub_0807000C(Entity*); extern Dialog gUnk_08113930[]; diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 3f97b540..bcc3c6fc 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -7,17 +7,12 @@ #include "save.h" #include "script.h" -extern void InitializeAnimation(Entity*, u32); -extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); - extern u32 sub_080002C0(); extern void sub_0806ACC4(Entity*); extern void sub_0806AEA8(); extern void sub_0806AEE4(Entity*); extern void sub_0806AFE8(Entity*, s32*); extern s32 sub_0806EDD8(Entity*, u32, u32); -extern u32 sub_0806F5B0(u32); -extern void sub_08078784(Entity*, u32); extern void sub_08078850(Entity*, u32, u32, u32*); extern u8 gUnk_081125F4[12]; diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index dbc50909..7f87dd41 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -24,19 +24,8 @@ typedef struct { extern void (*const gUnk_0810B774[])(Entity*); extern void (*const gUnk_0810B77C[])(Entity*); extern void sub_08061CB4(Entity*, u32); -extern u32 sub_0805ACC0(Entity*); -extern u32 sub_0801E99C(Entity*); -extern void sub_0807DD64(Entity*); extern void sub_08061D64(Entity*); -extern void sub_0806F118(Entity*); -extern u32 sub_0806F5A4(u32); -extern u32 GetFacingDirection(Entity*, Entity*); -extern void sub_0807DDE4(Entity*); extern void sub_08062048(Entity*); -extern void sub_08078784(Entity*, u32); -extern void sub_08078778(Entity*); -extern u32 sub_0806F5B0(u32); -extern void ResolveEntityOnTop(Entity*, Entity*); extern void sub_08078850(Entity*, u32, u8, u32*); extern SpriteLoadData* gUnk_0810B6EC[]; diff --git a/src/npc/wheaton.c b/src/npc/wheaton.c index 2edbc69c..1d2170a8 100644 --- a/src/npc/wheaton.c +++ b/src/npc/wheaton.c @@ -1,11 +1,9 @@ #include "global.h" #include "entity.h" +#include "script.h" +#include "functions.h" -extern void sub_0805E3A0(Entity*, u32); -extern void ResolveEntityOnTop(Entity*, Entity*); extern Hitbox gUnk_0810C3C0; -extern void sub_0807DD64(Entity*); -extern void sub_0807DD94(Entity*, u32); void Wheaton(Entity* this) { if (this->action == 0) { diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index 9429ccd6..312e09de 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -8,17 +8,8 @@ #include "save.h" #include "script.h" -extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); -extern void sub_0807DD50(Entity*); extern void sub_0806C7D4(Entity*); -extern void sub_0806F118(Entity*); extern void sub_0807DD80(Entity*, u32*); -extern u32 sub_0801E99C(); -extern void sub_08078784(Entity*, u32); -extern void SetExtraSpriteFrame(Entity*, u32, u32); -extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); -extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32); -extern void sub_0807000C(Entity*); extern void (*const gUnk_08113A7C[])(Entity*); extern void (*const gUnk_08113A8C[])(Entity*, Entity*); diff --git a/src/npc/zelda.c b/src/npc/zelda.c index 90a40fc0..62672012 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -6,20 +6,11 @@ #include "script.h" extern void PrependEntityToList(Entity*, u32); -extern void sub_0807DD50(Entity*); extern Entity* FindEntityBySubtype(u32, u32); -void CopyPosition(Entity*, Entity*); void sub_08068680(Entity*, Entity*); void sub_08068694(Entity*, Entity*); -u32 GetAnimationState(Entity* ent); -void DeleteThisEntity(void); extern Entity* GetEntityByType(u32, u32); extern void sub_080686C4(Entity*, Entity*); -extern void SoundReq(u32); -extern void SetTileType(u32, u32, u32); - -extern Entity gPlayerEntity; -extern RoomControls gRoomControls; extern void (*gUnk_08110BD8[])(Entity* ent); extern u16 gUnk_08110BE0[]; diff --git a/src/object/archway.c b/src/object/archway.c index 39975ee7..a33b7dd3 100644 --- a/src/object/archway.c +++ b/src/object/archway.c @@ -1,8 +1,7 @@ #include "global.h" #include "entity.h" #include "sprite.h" - -extern u32 CheckIsDungeon(); +#include "functions.h" void Archway(Entity* this) { u32 v1; diff --git a/src/object/bell.c b/src/object/bell.c index 072b0798..3a1e7d41 100644 --- a/src/object/bell.c +++ b/src/object/bell.c @@ -1,5 +1,5 @@ -#include "entity.h" #include "global.h" +#include "entity.h" extern void (*gUnk_08123384[])(Entity*); diff --git a/src/object/button.c b/src/object/button.c index 23a2ee8d..968838e8 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -105,7 +105,6 @@ void sub_08081C98(Entity* this) { } Entity* sub_08081D74(Entity*); -void sub_0807B7D8(u32, u32, u32); u32 sub_080001DA(u32, u32); u32 sub_08081CB0(Entity* this) { @@ -142,8 +141,7 @@ u32 sub_08081D28(Entity* this) { } extern u32 sub_080002E0(u32, u32); -extern Entity* gUnk_03004040[]; -extern u32 sub_080041A0(Entity*, Entity*, u32, u32); +extern Entity* gUnk_03004040[3]; u32 sub_08081E0C(Entity*); Entity* sub_08081D74(Entity* this) { @@ -171,8 +169,6 @@ Entity* sub_08081D74(Entity* this) { return ent; } -extern u32 sub_08079F8C(); - u32 sub_08081E0C(Entity* this) { Entity* tmp = &gPlayerEntity; if (tmp->height.HALF.HI != 0 || !sub_08079F8C()) { @@ -273,7 +269,6 @@ u32 sub_08081F7C(Entity* this, u32 r7) { return 1; } -extern Entity* gUnk_03004040[3]; extern void sub_080044AE(Entity*, u32, u32); void sub_08081FF8(Entity* this) { diff --git a/src/object/cloud.c b/src/object/cloud.c index a2637b6b..de6aa165 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -7,25 +7,12 @@ #include "structures.h" extern void sub_0809F7BC(Entity*); -extern void SoundReq(u32); -extern void sub_0809F814(u32); extern void sub_0809F7F4(Entity*); -extern void LoadRoomEntityList(); -extern void DeleteThisEntity(); -extern u32 CheckRoomFlag(u32); -extern void sub_08078A90(u32); -extern void sub_08078B48(void); -extern void sub_0806F69C(Entity*); extern void (*gUnk_08124798[])(Entity*); extern void (*gUnk_081247A0[])(Entity*); extern void (*gUnk_081247AC[])(Entity*); -extern Entity* CreateObject(u32, u32, u32); -extern void PositionEntityOnTop(Entity*, Entity*); -extern void sub_0807BB68(u32*, u32, u32); extern void* gUnk_080DD750; -extern Entity gPlayerEntity; -extern PlayerState gPlayerState; extern u8 gUnk_081247C0[]; extern u16 gUnk_081247C8[]; extern u32 gUnk_081247D0; diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index 51403761..a35ea276 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -10,9 +10,7 @@ #include "fileScreen.h" extern int sub_0807A094(int); -extern void LoadPalettes(const u8*, int, int); extern u32 sub_080041EC(int, int); -extern u32 sub_080045DA(int, int); static bool32 sub_0808E950(void); static void sub_0808EABC(Entity*); @@ -39,7 +37,6 @@ typedef struct { extern void (*const gUnk_08121C64[])(Entity*); extern void (*const gUnk_08121CCC[])(Entity*); extern const int gUnk_08133368[]; -extern const u8 gGlobalGfxAndPalettes[]; extern const struct_08121CD4 gUnk_08121CD4[][4]; extern const u8 gUnk_08121D10[]; extern const u8 gUnk_08121D38[][8]; diff --git a/src/object/giantLeaf.c b/src/object/giantLeaf.c index cf2fb1df..9badc65b 100644 --- a/src/object/giantLeaf.c +++ b/src/object/giantLeaf.c @@ -1,11 +1,10 @@ #include "global.h" #include "entity.h" #include "room.h" +#include "functions.h" -void SetTile(u32 tileIndex, s32 tilePosition, s32 layerIndex); void sub_0808D618(Entity* ent); -extern RoomControls gRoomControls; extern s16 gUnk_08121750[]; extern s16 gUnk_0812176A[]; diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index e71ddfc6..85d7474b 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -4,8 +4,9 @@ #include "screen.h" #include "structures.h" #include "greatFairy.h" -#include "functions.h" +#include "flags.h" #include "save.h" +#include "functions.h" enum { BEHAVIORS, diff --git a/src/object/heartContainer.c b/src/object/heartContainer.c index f6858b50..501bb7d7 100644 --- a/src/object/heartContainer.c +++ b/src/object/heartContainer.c @@ -3,9 +3,6 @@ #include "flags.h" #include "functions.h" -extern void DeleteThisEntity(); -extern void sub_08080CB4(Entity*); -extern u32 sub_08017850(Entity*); static void sub_0808E6A0(Entity*); static void sub_0808E6E4(Entity*); static void sub_0808E714(Entity*); diff --git a/src/object/jailBars.c b/src/object/jailBars.c index d046c822..505ca8e2 100644 --- a/src/object/jailBars.c +++ b/src/object/jailBars.c @@ -2,9 +2,9 @@ #include "entity.h" #include "flags.h" #include "room.h" +#include "functions.h" extern void sub_080A0960(Entity*, u32); -extern void SoundReq(u32); extern void sub_0801AF18(u8*, u32, u32); extern void (*const gUnk_08124950[])(Entity*); diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index cfbf0ba5..cbeafdd7 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -7,10 +7,7 @@ extern void sub_0809EB30(Entity*); extern void sub_0809EAD8(Entity*); extern void sub_0809EABC(Entity*); -extern void EnqueueSFX(u32); extern void sub_080A2CC0(Entity*, Entity**, u16*); -extern void SetTile(u32, u32, u32); -extern void sub_0806F69C(Entity*); extern void (*const gUnk_081243B4[])(Entity*); extern void (*const gUnk_081243BC[])(Entity*); diff --git a/src/object/mask.c b/src/object/mask.c index e405df5f..ffe931b1 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -2,26 +2,18 @@ #include "entity.h" #include "room.h" #include "random.h" +#include "structures.h" +#include "player.h" +#include "flags.h" +#include "functions.h" -extern Entity gPlayerEntity; -extern u16 gScreenTransition[]; extern void (*MaskActionFuncs[])(Entity*); -extern void DeleteThisEntity(); - -extern bool32 CheckFlags(u16); -extern void SetFlag(u16); -extern void ClearFlag(u16); - -extern void SetTile(u32, u16, u32); - extern void sub_08000148(u16, u16, u32); extern s16 sub_080001DA(u16, u32); extern u16 sub_080002E0(u16, u32); -extern void EnqueueSFX(u32); -extern void sub_080044EC(Entity*, u16); extern void sub_0805457C(Entity*, s32); void Mask(Entity* this) { @@ -35,7 +27,7 @@ void sub_080929A4(Entity* this) { switch (this->type2 & 0xC0) { case 0x40: - field_0x0a = gScreenTransition[0x5]; + field_0x0a = gScreenTransition.field_0xa; switch (field_0x0a) { case 0x44D ... 0x44F: @@ -69,7 +61,7 @@ void sub_080929A4(Entity* this) { this->field_0x7a.HWORD = sub_080002E0(this->field_0x7c.HALF.HI, 1); - SetTile(0x4022, this->field_0x7c.HALF.HI, 1); + SetTile(0x4022, this->field_0x7c.HALF_U.HI, 1); } // Probably related to knocking it down @@ -94,7 +86,7 @@ void sub_08092A94(Entity* this) { } // Presumably, make the mask fall - SetTile((u16)this->field_0x7c.HALF.LO, this->field_0x7c.HALF.HI, 1); + SetTile(this->field_0x7c.HALF_U.LO, this->field_0x7c.HALF_U.HI, 1); sub_08000148(this->field_0x7a.HWORD, this->field_0x7c.HALF.HI, 1); diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index 55c8b261..0fc2c3ac 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -2,15 +2,12 @@ #include "entity.h" #include "room.h" #include "flags.h" +#include "functions.h" extern u32 sub_08083734(Entity*, u32); extern void sub_080A080C(Entity*); -extern void sub_0806F69C(Entity*); -extern void EnqueueSFX(u32); extern void sub_080A0870(Entity*); -extern void SoundReq(u32); extern u32 sub_080001DA(u32, u32); -extern void SetTile(u32, u32, u32); extern void (*const gUnk_0812493C[])(Entity*); diff --git a/src/object/minecart.c b/src/object/minecart.c index 53d1ff82..311ea368 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -7,7 +7,6 @@ extern u32 sub_08091DDC(Entity*); extern u32 sub_080002B4(Entity*, u32, u32); extern u32 sub_08007DD6(u32, u32); extern void sub_08017744(Entity*); -extern u32 sub_080002B8(Entity*); extern void sub_08091C0C(Entity*); typedef struct { diff --git a/src/object/minishSizedEntrance.c b/src/object/minishSizedEntrance.c index 78410c6c..804772b7 100644 --- a/src/object/minishSizedEntrance.c +++ b/src/object/minishSizedEntrance.c @@ -1,9 +1,6 @@ #include "global.h" #include "entity.h" - -extern bool32 CheckIsDungeon(); -extern void sub_080AE068(Entity*); -extern void LoadFixedGFX(Entity*, u32); +#include "functions.h" extern void (*const gUnk_08122254[])(Entity*); diff --git a/src/object/object1C.c b/src/object/object1C.c index c12a6c1d..0c80735a 100644 --- a/src/object/object1C.c +++ b/src/object/object1C.c @@ -2,7 +2,6 @@ #include "entity.h" extern u32 CheckRectOnScreen(s16, s16, u32, u32); -extern void DeleteThisEntity(); void Object1C(Entity* this) { s32 iVar1; diff --git a/src/object/object1D.c b/src/object/object1D.c index 8442b227..f7343fbe 100644 --- a/src/object/object1D.c +++ b/src/object/object1D.c @@ -1,8 +1,6 @@ #include "global.h" #include "entity.h" -void DeleteThisEntity(); - extern void (*gUnk_081208A0[])(Entity*); void Object1D(Entity* this) { diff --git a/src/object/object49.c b/src/object/object49.c index 16bf7bb9..e8475de8 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -11,7 +11,6 @@ static void sub_0808F244(Entity*); extern void sub_0806FCF4(Entity*, u32, u32, u32); extern void sub_0808F5EC(Entity*); -extern bool32 sub_0806F3E4(Entity*); extern void (*const gUnk_08121E5C[])(Entity*); extern void (*const gUnk_08121E88[])(Entity*); diff --git a/src/object/object7E.c b/src/object/object7E.c index 6c89947e..4a128e63 100644 --- a/src/object/object7E.c +++ b/src/object/object7E.c @@ -1,6 +1,6 @@ #include "global.h" #include "entity.h" -#include "functions.h" +#include "position.h" void Object7E(Entity* this) { diff --git a/src/object/object86.c b/src/object/object86.c index 9706e040..19159de4 100644 --- a/src/object/object86.c +++ b/src/object/object86.c @@ -1,9 +1,10 @@ #include "global.h" #include "entity.h" +#include "position.h" #include "player.h" #include "flags.h" +#include "functions.h" -extern u32 sub_080041A0(Entity*, Entity*, u32, u32); void sub_08099ECC(Entity*); extern void sub_0805E4E0(Entity*, u32); extern void sub_0805B390(u32); diff --git a/src/object/object9E.c b/src/object/object9E.c index 858ee01b..321945b2 100644 --- a/src/object/object9E.c +++ b/src/object/object9E.c @@ -1,11 +1,11 @@ #include "global.h" #include "entity.h" +#include "position.h" #include "room.h" +#include "functions.h" extern Hitbox gUnk_080FD168; -extern void SetTile(u32, u32, u32); - void Object9E(Entity* this) { Entity* ent; u32 tilePos; diff --git a/src/object/objectA8.c b/src/object/objectA8.c index 4cca37f2..c1a5193a 100644 --- a/src/object/objectA8.c +++ b/src/object/objectA8.c @@ -1,14 +1,10 @@ #include "global.h" #include "entity.h" - -extern Entity* CreateItemEntity(u32, u32, u32); -extern void DeleteThisEntity(); -extern void sub_08080CB4(Entity*); +#include "player.h" +#include "functions.h" extern void (*gUnk_08124824[])(Entity*); -extern Entity gPlayerEntity; - void ObjectA8(Entity* this) { if ((this->bitfield & 0x80) != 0) { switch (this->bitfield & 0x7f) { diff --git a/src/object/objectAF.c b/src/object/objectAF.c index c1d32b60..ad13952e 100644 --- a/src/object/objectAF.c +++ b/src/object/objectAF.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "position.h" extern void sub_080A0640(Entity*); diff --git a/src/object/objectB2.c b/src/object/objectB2.c index 4722d2e9..71c7e4b5 100644 --- a/src/object/objectB2.c +++ b/src/object/objectB2.c @@ -1,7 +1,7 @@ #include "global.h" #include "entity.h" +#include "functions.h" -extern void sub_0806F69C(Entity*); extern u32 sub_080AE4CC(Entity*, u32, u32, u32); extern void* gUnk_02027EB4; diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c index d6a24471..7fcbb9a0 100644 --- a/src/object/pinwheel.c +++ b/src/object/pinwheel.c @@ -1,10 +1,9 @@ #include "global.h" #include "entity.h" +#include "flags.h" #include "functions.h" extern u32 ReadBit(u32*, u32); -extern void DeleteThisEntity(); -extern u32 CheckLocalFlag(u32); extern u32 gUnk_020342F8; extern u16 gUnk_08125050[]; diff --git a/src/object/pot.c b/src/object/pot.c index cd73f9a8..ceea4011 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -16,10 +16,8 @@ extern void (*const gUnk_0811F0C4[])(Entity*); extern Hitbox gUnk_080FD338; // TODO: should be const extern Hitbox gUnk_080FD340; // TODO: should be const -extern u32 sub_08016A30(Entity*); extern u32 sub_080001DA(u32, u32); extern void sub_08078930(Entity*); -extern u32 sub_080002B8(Entity*); extern void sub_08016A6C(Entity*); void Pot(Entity* this) { diff --git a/src/object/railtrack.c b/src/object/railtrack.c index 2e3a3d66..52a74bc3 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -2,13 +2,12 @@ #include "entity.h" #include "room.h" #include "flags.h" +#include "functions.h" extern u32* GetLayerByIndex(u32); extern void sub_08085394(Entity*); extern void sub_0808543C(Entity*); -extern void EnqueueSFX(u32); extern u32 sub_080854A8(Entity*); -extern void SetTile(u32, u32, u32); extern void (*const gUnk_081205D0[])(Entity*); diff --git a/src/object/smoke.c b/src/object/smoke.c index 5ec708b9..679894a8 100644 --- a/src/object/smoke.c +++ b/src/object/smoke.c @@ -2,8 +2,6 @@ #include "entity.h" #include "functions.h" -extern void sub_0806F69C(Entity*); - extern void (*const gUnk_08121060[])(Entity*); extern void (*const gUnk_08121070[])(Entity*); diff --git a/src/object/thoughtBubble.c b/src/object/thoughtBubble.c index 596cb382..5e77d9e1 100644 --- a/src/object/thoughtBubble.c +++ b/src/object/thoughtBubble.c @@ -1,10 +1,6 @@ #include "global.h" #include "entity.h" - -extern void InitializeAnimation(Entity*, u32); -extern void SoundReq(u32); -extern void DeleteThisEntity(); -extern void GetNextFrame(Entity*); +#include "functions.h" extern void (*const ThoughtBubble_Behaviors[])(Entity*); diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 912003b9..20833f0f 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -3,19 +3,17 @@ #include "flags.h" #include "player.h" #include "room.h" +#include "structures.h" +#include "functions.h" extern void sub_0809E96C(Entity*); -extern u32 sub_0800419C(Entity*, Entity*, u32, u32); extern void CreateSparkle(Entity*); extern u32 sub_0809E9A0(void); -extern void sub_08078A90(u32); extern void sub_0809E918(Entity*); -extern void SoundReq(u32); extern void CreateMinishEntrance(u32 tile); extern void (*const gUnk_08124354[])(Entity*); -extern u32 gScreenTransition; extern s16 gUnk_08124364[]; void TreeHidingPortal(Entity* this) { @@ -36,7 +34,7 @@ void sub_0809E86C(Entity* this) { if (sub_0800419C(this, &gPlayerEntity, 0x30, 0x30)) { if (CheckGlobalFlag(EZERO_1ST)) { - if (((gScreenTransition & 3) == 0)) { + if (((gScreenTransition.frameCount & 3) == 0)) { CreateSparkle(this); } } diff --git a/src/object/well.c b/src/object/well.c index fda35fed..86710ac6 100644 --- a/src/object/well.c +++ b/src/object/well.c @@ -2,11 +2,7 @@ #include "entity.h" #include "room.h" #include "player.h" - -void SetTile(u32 tileIndex, s32 tilePosition, s32 layerIndex); -s32 GetTileType(s32 tilePosition, s32 layerIndex); -void sub_08078B48(); -void DeleteThisEntity(); +#include "functions.h" extern void (*gUnk_08124C08[])(Entity*); diff --git a/src/object/windcrest.c b/src/object/windcrest.c index efc11dc4..0ce28743 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -4,11 +4,7 @@ #include "save.h" #include "script.h" -extern void sub_0807DD64(Entity*); -extern void sub_0807DDE4(Entity*); extern void sub_08078850(Entity*, u32, u32, u8*); -extern void SoundReq(u32); -extern Entity* CreateFx(Entity*, u32, u32); extern u8 gUnk_08125010; diff --git a/src/playerItem.c b/src/playerItem.c index 364502d0..7eca5211 100644 --- a/src/playerItem.c +++ b/src/playerItem.c @@ -1,4 +1,6 @@ -extern void DeleteEntity(); +#include "global.h" +#include "functions.h" + extern void sub_080A7544(); extern void sub_0801B188(); extern void sub_0801B45C(); diff --git a/src/room.c b/src/room.c index f400ce7f..0af93d77 100644 --- a/src/room.c +++ b/src/room.c @@ -440,8 +440,6 @@ u32 sub_0804B8B0(void) { return 1; } -extern void* gUnk_08010A5C[]; - void sub_0804B8F0(void) { if (CheckLocalFlag(0x91)) { ClearLocalFlag(0x91); @@ -4307,8 +4305,6 @@ void LoadHyruleTown(void) { } } -extern EntityData gUnk_080EEBAC; - void sub_0804E130(void) { if ((gSave.windcrests & 0x8000000) == 0) { LoadRoomEntityList(&gUnk_080EEBAC); @@ -4773,7 +4769,6 @@ u32 sub_0804E7D8() { } extern EntityData gUnk_080F31D8; -extern u8 gUnk_02000070; extern u32 gUnk_08009B30; void sub_0804E7DC(void) { @@ -5072,8 +5067,6 @@ void sub_0804EC00(void) { } } -extern EntityData gUnk_080F4E10; - void sub_0804EC98(void) { if ((s32)gSave.windcrests > -1) { LoadRoomEntityList(&gUnk_080F4E10); @@ -5207,8 +5200,6 @@ extern EntityData gUnk_080F5828; extern EntityData gUnk_080F5848; extern EntityData gUnk_080F5788; -extern u8 gBombBagSizes[]; - void sub_0804EEBC(void) { LoadRoomEntityList(&gUnk_080F5758); if (!GetInventoryValue(0x36) && CheckLocalFlagByOffset(0x200, 0x8f)) { @@ -5516,8 +5507,6 @@ void sub_0804F25C(void) { } } -extern EntityData gUnk_080F70D8; - void sub_0804F2C8(void) { if ((gSave.windcrests & 0x40000000) == 0) { LoadRoomEntityList(&gUnk_080F70D8); @@ -6031,8 +6020,6 @@ void sub_0804FBBC(void) { } } -extern EntityData gUnk_080F9304; - void sub_0804FBDC(void) { if ((gSave.windcrests & 0x2000000) == 0) { LoadRoomEntityList(&gUnk_080F9304); @@ -6449,8 +6436,6 @@ void sub_0804FE58(void) { } } -extern EntityData gUnk_080FB004; - void sub_0804FEAC(void) { if ((gSave.windcrests & 0x1000000) == 0) { LoadRoomEntityList(&gUnk_080FB004); diff --git a/src/screenDebug.c b/src/screenDebug.c index 2271e2b7..b0ce1fa6 100644 --- a/src/screenDebug.c +++ b/src/screenDebug.c @@ -1,4 +1,5 @@ #include "global.h" +#include "dma.h" #include "functions.h" #include "main.h" #include "menu.h" @@ -23,8 +24,8 @@ void HandleDebugTextScreen() { void sub_0805FA04(void) { sub_0801DA90(1); - MemClear32((void*)&gBG0Buffer, sizeof(BGBuffer)); - MemClear32((void*)&gBG3Buffer, 0x1000); + MemClear(&gBG0Buffer, sizeof(BGBuffer)); + MemClear(&gBG3Buffer, 0x1000); gScreen.lcd.displayControl = 0x940; gScreen.bg.bg0xOffset = 0; gScreen.bg.bg0yOffset = 0; @@ -33,8 +34,8 @@ void sub_0805FA04(void) { gScreen.affine.bg3Control = 0x1e0f; gScreen.affine.bg3Updated = 1; MessageInitialize(); - MemClear32((void*)&gUnk_02032EC0, sizeof(UI)); - MemClear32((void*)&gMenu, sizeof(Menu)); + MemClear((void*)&gUnk_02032EC0, sizeof(UI)); + MemClear((void*)&gMenu, sizeof(Menu)); gMenu.unk16 = gUnk_02000000->gameLanguage; sub_08053320(); sub_0801D79C(0, 0x1144); diff --git a/src/script.c b/src/script.c index 494e0ae5..a686b371 100644 --- a/src/script.c +++ b/src/script.c @@ -5,6 +5,7 @@ #include "script.h" #include "structures.h" #include "textbox.h" +#include "dma.h" #include "functions.h" #include "save.h" @@ -187,9 +188,9 @@ extern ScriptExecutionContext gPlayerScriptExecutionContext; extern ScriptExecutionContext gScriptExecutionContextArray[0x20]; void sub_0807DA70(void) { - MemClear32(&gUnk_02033280, sizeof(gUnk_02033280)); - MemClear32(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); - MemClear32(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); + MemClear(&gUnk_02033280, sizeof(gUnk_02033280)); + MemClear(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); + MemClear(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); gUnk_02033280.unk_08 = 8; } @@ -207,7 +208,7 @@ ScriptExecutionContext* CreateScriptExecutionContext(void) { } void DestroyScriptExecutionContext(ScriptExecutionContext* context) { - MemClear32(context, sizeof(ScriptExecutionContext)); + MemClear(context, sizeof(ScriptExecutionContext)); } ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) { @@ -237,7 +238,7 @@ void UnloadCutsceneData(Entity* entity) { void StartPlayerScript(u16* unk1) { Entity* player; - MemClear32(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); + MemClear(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); gPlayerScriptExecutionContext.unk_00 = unk1; player = &gPlayerEntity; *(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext; @@ -260,7 +261,7 @@ ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { } void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) { - MemClear32(context, sizeof(ScriptExecutionContext)); + MemClear(context, sizeof(ScriptExecutionContext)); context->unk_00 = unk1; } diff --git a/src/sub_0801D754.c b/src/sub_0801D754.c index 8b1b2b20..a6f103f5 100644 --- a/src/sub_0801D754.c +++ b/src/sub_0801D754.c @@ -1,4 +1,5 @@ #include "global.h" +#include "functions.h" extern const u8 gUnk_020176E0[]; diff --git a/src/sub_0804AFF4.c b/src/sub_0804AFF4.c index a7108fd6..bdd0cf50 100644 --- a/src/sub_0804AFF4.c +++ b/src/sub_0804AFF4.c @@ -2,42 +2,19 @@ extern void sub_080186EC(); extern u32* GetCurrentRoomProperty(u8); -extern u32 _call_via_r0(u32*); extern void sub_0804B16C(); void sub_0804AFF4(void) { - u32* func; + void(*func)(); sub_080186EC(); - func = GetCurrentRoomProperty(5); - if (func != NULL) { - _call_via_r0(func); + func = (void(*)())GetCurrentRoomProperty(5); + if (func) { + func(); } - func = GetCurrentRoomProperty(7); - if (func != NULL) { - _call_via_r0(func); + func = (void(*)())GetCurrentRoomProperty(7); + if (func) { + func(); } sub_0804B16C(); - return; } - -/* - thumb_func_start sub_0804AFF4 -sub_0804AFF4: @ 0x0804AFF4 - push {lr} - bl sub_080186EC - movs r0, #5 - bl GetCurrentRoomProperty - cmp r0, #0 - beq _0804B008 - bl _call_via_r0 -_0804B008: - movs r0, #7 - bl GetCurrentRoomProperty - cmp r0, #0 - beq _0804B016 - bl _call_via_r0 -_0804B016: - bl sub_0804B16C - pop {pc} - */ diff --git a/src/sub_08050008.c b/src/sub_08050008.c index 4fe0e197..59ace866 100644 --- a/src/sub_08050008.c +++ b/src/sub_08050008.c @@ -1,16 +1,10 @@ #include "global.h" +#include "dma.h" +#include "structures.h" extern u32 gUnk_020354C0; -extern s32 gFadeControl; -extern void MemClear32(u32, u32, u32); -void sub_08050008(u32 param_1, u32 param_2, u32 param_3) { - s32* unk; - - MemClear32((u32)&gUnk_020354C0, 128, param_3); - - unk = &gFadeControl; - *(unk + 1) = -1; - - return; +void sub_08050008() { + MemClear(&gUnk_020354C0, 128); + gFadeControl.field_0x4 = -1; } diff --git a/src/sub_08050024.c b/src/sub_08050024.c index b6915ab9..fe77e3d0 100644 --- a/src/sub_08050024.c +++ b/src/sub_08050024.c @@ -12,13 +12,9 @@ extern struct_03000000 gUnk_03000000; extern u32 gUsedPalettes; -extern void sub_0801E104(); -extern void DoFade(u32, u32); - void sub_08050024() { sub_0801E104(); DoFade(5, 0x80 << 1); - return; } void sub_08050038(u32 arg0) { diff --git a/src/sub_08055E08.c b/src/sub_08055E08.c index 40c1f812..1b97f26f 100644 --- a/src/sub_08055E08.c +++ b/src/sub_08055E08.c @@ -3,7 +3,6 @@ #include "room.h" #include "functions.h" -extern u32* _call_via_r0(u32* func); extern void (*const gUnk_080FF420[])(); extern void sub_0804B0B0(u32, u32); extern void sub_08055B70(u32, u32, u32, u32); diff --git a/src/sub_0805E374.c b/src/sub_0805E374.c index 5767e6da..e035ce07 100644 --- a/src/sub_0805E374.c +++ b/src/sub_0805E374.c @@ -1,10 +1,12 @@ #include "entity.h" +#include "structures.h" + extern Entity* sub_0805E3A0(Entity*, u32); -extern u8 gScreenTransition[]; extern u8 gUnk_081091F8[]; extern u8 gUnk_081091EE[]; + Entity* sub_0805E374(Entity* param_1) { - u8 r3 = gScreenTransition[0x2C]; + u8 r3 = gScreenTransition.field_0x24[8]; u8* array = gUnk_081091F8; if (r3 != '\x02') { diff --git a/src/sub_0806F9EC.c b/src/sub_0806F9EC.c index 9f029530..8c3f17fb 100644 --- a/src/sub_0806F9EC.c +++ b/src/sub_0806F9EC.c @@ -1,13 +1,11 @@ #include "global.h" -s32 sub_0806F9EC(s16 param_1, s16 param_2) +s32 sub_0806F9EC(s16 unk_1, s16 unk_2) { + int temp; -{ - int iVar1; - - iVar1 = (s32)param_1 * (s32)param_2; - if (iVar1 < 0) { - iVar1 = iVar1 + 255; + temp = (s32)unk_1 * (s32)unk_2; + if (temp < 0) { + temp = temp + 255; } - return (iVar1 << 8) >> 16; + return (temp << 8) >> 16; } diff --git a/src/sub_0806FA04.c b/src/sub_0806FA04.c index a7eb191a..75d421be 100644 --- a/src/sub_0806FA04.c +++ b/src/sub_0806FA04.c @@ -1,15 +1,11 @@ #include "global.h" -extern s32 __divsi3(s32, s32); - -s16 sub_0806FA04(s16 param_1, s16 param_2) - -{ +s16 sub_0806FA04(s16 param_1, s16 param_2) { s16 sVar1; s32 iVar2; if (param_2 != 0) { - sVar1 = __divsi3((param_1 << 16) >> 8, param_2); + sVar1 = ((param_1 << 16) >> 8) / param_2; iVar2 = sVar1; } else { iVar2 = 0; diff --git a/src/sub_0806FA24.c b/src/sub_0806FA24.c deleted file mode 100644 index de614717..00000000 --- a/src/sub_0806FA24.c +++ /dev/null @@ -1,10 +0,0 @@ - -#include "global.h" -#include "entity.h" -void PositionRelative(Entity*, Entity*, s32, s32); - -void CopyPosition(Entity* param_1, Entity* param_2) - -{ - PositionRelative(param_1, param_2, 0, 0); -} diff --git a/src/sub_0807B7D8.c b/src/sub_0807B7D8.c index 7ef8b080..7a8a68fc 100644 --- a/src/sub_0807B7D8.c +++ b/src/sub_0807B7D8.c @@ -1,12 +1,10 @@ #include "global.h" +#include "functions.h" extern void sub_08000152(u32); extern void sub_0807B778(u32, u32); -extern void SetTileType(u32, u32, u32); -void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3) - -{ +void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3) { if (param_1 == 53) { sub_08000152(53); sub_0807B778(param_2, param_3); @@ -17,5 +15,4 @@ void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3) } else { SetTileType(param_1, param_2, param_3); } - return; } diff --git a/src/sub_0807B820.c b/src/sub_0807B820.c index b8ae309d..54b94849 100644 --- a/src/sub_0807B820.c +++ b/src/sub_0807B820.c @@ -1,10 +1,7 @@ #include "global.h" +#include "functions.h" -extern void SetTileType(u32, u32, u32); - -void sub_0807B820(u32 param_1) - -{ +void sub_0807B820(u32 param_1) { SetTileType(620, param_1 + -65, 1); SetTileType(627, param_1 + -65, 2); SetTileType(621, param_1 + -64, 1); @@ -14,5 +11,4 @@ void sub_0807B820(u32 param_1) SetTileType(623, param_1 + -1, 1); SetTileType(624, param_1, 1); SetTileType(626, param_1 + 1, 1); - return; } diff --git a/src/sub_0807B8A8.c b/src/sub_0807B8A8.c index 5c008ad2..f0524685 100644 --- a/src/sub_0807B8A8.c +++ b/src/sub_0807B8A8.c @@ -1,10 +1,7 @@ #include "global.h" +#include "functions.h" -extern void SetTileType(u32, u32, u32); - -void sub_0807B8A8(u32 param_1) - -{ +void sub_0807B8A8(u32 param_1) { SetTileType(636, param_1 + -65, 1); SetTileType(643, param_1 + -65, 2); SetTileType(637, param_1 + -64, 1); @@ -14,5 +11,4 @@ void sub_0807B8A8(u32 param_1) SetTileType(639, param_1 + -1, 1); SetTileType(640, param_1, 1); SetTileType(642, param_1 + 1, 1); - return; } diff --git a/src/sub_0807B930.c b/src/sub_0807B930.c index aae0472c..6ad13448 100644 --- a/src/sub_0807B930.c +++ b/src/sub_0807B930.c @@ -1,10 +1,7 @@ #include "global.h" +#include "functions.h" -extern void SetTileType(u32, u32, u32); - -void sub_0807B930(int param_1) - -{ +void sub_0807B930(int param_1) { SetTileType(652, param_1 + -65, 1); SetTileType(659, param_1 + -65, 2); SetTileType(653, param_1 + -64, 1); @@ -14,5 +11,4 @@ void sub_0807B930(int param_1) SetTileType(655, param_1 + -1, 1); SetTileType(656, param_1, 1); SetTileType(658, param_1 + 1, 1); - return; } diff --git a/src/textbox.c b/src/textbox.c index 8e962960..262560c4 100644 --- a/src/textbox.c +++ b/src/textbox.c @@ -1,6 +1,7 @@ #include "global.h" #include "room.h" #include "entity.h" +#include "dma.h" #include "functions.h" #include "textbox.h" #include "structures.h" @@ -83,7 +84,7 @@ void TextboxAtPosition(u32 index, u32 x, u32 y) { } void ShowTextbox(u32 index) { - MemClear32(&gTextBox, 32); + MemClear(&gTextBox, 32); gTextBox.textIndex = index; gTextBox.textSpeed = 99; gTextBox.textWindowWidth = 26; @@ -94,18 +95,18 @@ void ShowTextbox(u32 index) { } void MessageInitialize(void) { - MemClear32(&gTextBox, 32); - MemClear32(&gUnk_02022780, 168); - MemClear32(&gUnk_02036A40, 8); - MemClear32(&gUnk_02036A38, 8); - MemClear32(&gUnk_02000040, 4); + MemClear(&gTextBox, 32); + MemClear(&gUnk_02022780, 168); + MemClear(&gUnk_02036A40, 8); + MemClear(&gUnk_02036A38, 8); + MemClear(&gUnk_02000040, 4); } void MessageUpdate(void) { int iVar1; if (gTextBox.doTextBox == 1) { - MemClear32((u32*)&gUnk_02022780, sizeof(gUnk_02022780)); + MemClear((u32*)&gUnk_02022780, sizeof(gUnk_02022780)); sub_080564C8(1); } @@ -141,9 +142,9 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { u32 i; char c; - MemClear32((void*)&gUnk_02036A40, 8); - MemClear32((void*)&gUnk_02024030, 0x18); - MemClear32((void*)&gUnk_02022780, 0xa8); + MemClear((void*)&gUnk_02036A40, 8); + MemClear((void*)&gUnk_02024030, 0x18); + MemClear((void*)&gUnk_02022780, 0xa8); MemCopy(&gTextBox, &gUnk_02022780, 32); if (gUnk_02022780._2 == 0x63) { gUnk_02022780._2 = gUnk_02000000->messageSpeed; From aac7eb743646634c1476141ba5d07da53ab56193 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Mar 2021 22:22:59 +0100 Subject: [PATCH 2/5] more cleanup --- include/entity.h | 8 +++++-- include/fileScreen.h | 6 ----- include/functions.h | 5 ----- include/gba/macro.h | 14 ++++++------ include/global.h | 6 ++--- include/structures.h | 2 +- src/enemy/acroBandits.c | 1 + src/enemy/beetle.c | 4 +++- src/enemy/bobomb.c | 1 + src/enemy/bombPeahat.c | 3 ++- src/enemy/businessScrub.c | 6 +++-- src/enemy/chuchu.c | 1 + src/enemy/cuccoChickAggr.c | 1 + src/enemy/darkNut.c | 2 ++ src/enemy/fallingBoulder.c | 1 + src/enemy/fireballGuy.c | 2 ++ src/enemy/gibdo.c | 3 ++- src/enemy/gyorgMale.c | 3 ++- src/enemy/hangingSeed.c | 1 + src/enemy/helmasaur.c | 1 + src/enemy/keaton.c | 2 ++ src/enemy/keese.c | 1 + src/enemy/lakitu.c | 2 +- src/enemy/leever.c | 1 + src/enemy/likeLike.c | 3 ++- src/enemy/madderpillar.c | 1 + src/enemy/miniFireballGuy.c | 2 ++ src/enemy/miniSlime.c | 2 ++ src/enemy/moldorm.c | 1 + src/enemy/moldworm.c | 1 + src/enemy/octorok.c | 2 ++ src/enemy/peahat.c | 2 ++ src/enemy/pesto.c | 1 + src/enemy/puffstool.c | 1 + src/enemy/rockChuchu.c | 1 + src/enemy/rollobite.c | 2 ++ src/enemy/rope.c | 3 ++- src/enemy/slime.c | 2 ++ src/enemy/sluggula.c | 1 + src/enemy/smallPesto.c | 1 + src/enemy/spearMoblin.c | 1 + src/enemy/spikedBeetle.c | 1 + src/enemy/spinyChuchu.c | 1 + src/enemy/tektite.c | 1 + src/enemy/tektiteGolden.c | 3 ++- src/enemy/wallMaster.c | 3 ++- src/enemy/wallMaster2.c | 3 ++- src/enemy/waterDrop.c | 3 ++- src/enemy/wisp.c | 3 ++- src/entity.c | 40 ++++++++++++++++------------------ src/fileScreen.c | 6 +++++ src/game.c | 3 ++- src/manager/manager1A.c | 2 +- src/manager/manager28.c | 2 +- src/manager/manager3.c | 1 + src/manager/managerB.c | 2 +- src/npc/bigGoron.c | 3 ++- src/npc/bladeBrothers.c | 5 +++-- src/npc/carpenter.c | 1 + src/npc/cow.c | 2 ++ src/npc/epona.c | 3 ++- src/npc/forestMinish.c | 5 +++-- src/npc/goronMerchant.c | 2 +- src/npc/malon.c | 3 ++- src/npc/melari.c | 3 ++- src/npc/smith.c | 4 +++- src/npc/talon.c | 6 +++-- src/npc/teachers.c | 3 ++- src/npc/townsperson.c | 5 +++-- src/npc/zelda.c | 1 - src/object/backgroundCloud.c | 1 + src/object/bird.c | 3 ++- src/object/cloud.c | 1 + src/object/fileScreenObjects.c | 5 +++-- src/object/greatFairy.c | 3 ++- src/object/lilypadSmall.c | 3 ++- src/object/mask.c | 1 - src/object/object1A.c | 1 + src/object/objectA2.c | 1 + src/object/smoke.c | 1 + src/object/windTribeFlag.c | 1 + src/room.c | 3 ++- src/script.c | 3 ++- src/sub_0804AFF4.c | 6 ++--- 84 files changed, 167 insertions(+), 90 deletions(-) diff --git a/include/entity.h b/include/entity.h index 6f1b5e72..e40b281f 100644 --- a/include/entity.h +++ b/include/entity.h @@ -175,6 +175,7 @@ extern LinkedList gUnk_03003DA0; #define COORD_TO_TILE_OFFSET(entity, xOff, yOff) \ TILE((entity)->x.HALF.HI - (xOff), (entity)->y.HALF.HI - (yOff)) +Entity* GetEmptyEntity(void); extern Entity* CreateEnemy(u32 subtype, u32 form); extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter); extern Entity* CreateNPC(u32 subtype, u32 form, u32 parameter); @@ -193,8 +194,11 @@ extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); extern u32 GetFacingDirection(Entity*, Entity*); -extern void DeleteThisEntity(void); -extern void DeleteEntity(Entity*); +void DeleteThisEntity(void); +void DeleteEntity(Entity*); + +void AppendEntityToList(Entity* entity, u32 listIndex); +void PrependEntityToList(Entity* entity, int listIndex); Entity* FindEntityInListBySubtype(u32 type, u32 subtype, u32 listIndex); Entity* FindEntityInListByForm(u32 type, u32 subtype, u32 listIndex, u32 form, u32 parameter); diff --git a/include/fileScreen.h b/include/fileScreen.h index b5782093..8f11aaef 100644 --- a/include/fileScreen.h +++ b/include/fileScreen.h @@ -2,12 +2,6 @@ #define FILESELECT_H #include "global.h" -#include "functions.h" -#include "main.h" -#include "player.h" -#include "readKeyInput.h" -#include "screen.h" -#include "menu.h" #include "save.h" typedef struct { diff --git a/include/functions.h b/include/functions.h index 34e79e08..08e8c90e 100644 --- a/include/functions.h +++ b/include/functions.h @@ -11,20 +11,16 @@ #include "room.h" // Identified - to be sorted into header files -extern u32 Random(void); extern void SoundReq(u32); extern void ShowNPCDialogue(Entity*, Dialog*); -extern u32 UpdateFuseInteraction(); extern u32 __modsi3(u32, u32); extern void DoFade(u32, u32); extern u32 CheckKinstoneFused(u32); extern void ForceEquipItem(u32, u8); extern void LoadRoomEntityList(); -extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); extern u32 GetAnimationState(Entity*); extern void SetChildOffset(Entity*, s32, s32, s32); extern Entity* CreatePlayerItem(u32, u32, u32, u32); -extern Entity* GetEmptyEntity(void); extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); extern u32 GetTileType(u32 pos, u32 layer); extern void EraseAllEntities(void); @@ -43,7 +39,6 @@ extern void LoadResourceAsync(const void*, u32, u32); extern void LoadPaletteGroup(u32); extern void TryLoadPrologueHyruleTown(void); extern Manager* GetEmptyManager(void); -extern void AppendEntityToList(void*, u32); extern void LoadGfxGroup(u32); extern void EnqueueSFX(u32); extern void ResetPlayer(void); diff --git a/include/gba/macro.h b/include/gba/macro.h index 53f03071..f142d5c0 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -1,9 +1,9 @@ #ifndef GUARD_GBA_MACRO_H #define GUARD_GBA_MACRO_H -#define CPU_FILL(value, dest, size, bit) \ - { \ - vu##bit tmp = (vu##bit)(value); \ +#define CPU_FILL(value, dest, size, bit) \ + { \ + vu##bit tmp = (vu##bit)(value); \ CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / ((bit) / 8) & 0x1FFFFF)); \ } @@ -42,7 +42,7 @@ vu##bit tmp = (vu##bit)(value); \ DmaSet(dmaNum, &tmp, dest, \ (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 | \ - ((size) / ((bit) / 8))); \ + ((size) / ((bit) / 8))); \ } #define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16) @@ -112,7 +112,7 @@ #define DmaFillLarge(dmaNum, value, dest, size, block, bit) \ { \ - void* _dest = (void*)(dest); \ + void* _dest = (void*)(dest); \ u32 _size = size; \ while (1) { \ DmaFill##bit(dmaNum, value, _dest, (block)); \ @@ -149,7 +149,7 @@ #define DmaFillDefvars(dmaNum, value, dest, size, bit) \ { \ - void* _dest = (void*)(dest); \ + void* _dest = (void*)(dest); \ u32 _size = size; \ DmaFill##bit(dmaNum, value, _dest, _size); \ } @@ -180,7 +180,7 @@ \ imeTemp = REG_IME; \ REG_IME = 0; \ - REG_IE |= (flags); \ + REG_IE |= (flags); \ REG_IME = imeTemp; \ } diff --git a/include/global.h b/include/global.h index f45ee218..74e38a45 100644 --- a/include/global.h +++ b/include/global.h @@ -31,9 +31,9 @@ #define SWAP(a, b, temp) \ { \ - (temp) = a; \ - (a) = b; \ - (b) = temp; \ + (temp) = a; \ + (a) = b; \ + (b) = temp; \ } // useful math macros diff --git a/include/structures.h b/include/structures.h index a7e4902f..66c2a6b6 100644 --- a/include/structures.h +++ b/include/structures.h @@ -39,7 +39,7 @@ typedef struct { u8 field_0x4[0x4]; bool8 transitioningOut; u8 transitionType; // transition when changing areas - u16 field_0xa; // seems to be a tile type + u16 field_0xa; // seems to be a tile type u8 areaID; u8 roomID; u8 playerState; diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index fff1cb50..142b4010 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "random.h" #include "functions.h" extern u32 sub_080002D4(s32, s32, u32); diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 61e54b6a..a55b0f7f 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -1,6 +1,8 @@ #include "entity.h" -#include "functions.h" +#include "enemy.h" #include "player.h" +#include "random.h" +#include "functions.h" extern u32 PlayerInRange(Entity*, u32, u32); diff --git a/src/enemy/bobomb.c b/src/enemy/bobomb.c index bf4b4372..e5716276 100644 --- a/src/enemy/bobomb.c +++ b/src/enemy/bobomb.c @@ -1,4 +1,5 @@ #include "enemy.h" +#include "random.h" #include "functions.h" extern void CreateDustSmall(Entity*); diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index 58e1ed51..caaf98b0 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -1,7 +1,8 @@ #include "global.h" #include "entity.h" -#include "functions.h" #include "player.h" +#include "random.h" +#include "functions.h" extern void sub_08078954(Entity*); extern void sub_08078930(Entity*); diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 49ba9ea1..30e95a2b 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -1,9 +1,11 @@ #include "enemy.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "textbox.h" #include "save.h" +#include "random.h" +#include "npc.h" +#include "functions.h" extern void sub_0801D040(Entity*, u32); extern Entity* sub_08049DF4(u32); @@ -326,7 +328,7 @@ void sub_08028E40(Entity* this) { } void sub_08028E84(Entity* this) { - if (UpdateFuseInteraction()) { + if (UpdateFuseInteraction(this)) { this->action = 4; this->actionDelay = 1; } diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index 99a9160a..625fab9b 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern s32 sub_080012DC(Entity*); diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index de87165a..0b894e09 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern Entity* sub_08049DF4(u32); diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index 49acb71d..82f1d53a 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -1,4 +1,6 @@ #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" typedef struct { diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index 4b469258..570c3715 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -1,4 +1,5 @@ #include "enemy.h" +#include "random.h" #include "functions.h" void sub_0802C4B0(Entity*); diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index 3a4e4148..c77281a7 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -1,5 +1,7 @@ #include "global.h" #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" typedef struct { diff --git a/src/enemy/gibdo.c b/src/enemy/gibdo.c index a1a9833d..02b7f327 100644 --- a/src/enemy/gibdo.c +++ b/src/enemy/gibdo.c @@ -1,8 +1,9 @@ #include "global.h" #include "entity.h" #include "sprite.h" -#include "functions.h" #include "enemy.h" +#include "random.h" +#include "functions.h" // Gibudo void sub_08037794(); void sub_08037B10(); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index c7d26607..86939a3c 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -4,8 +4,9 @@ #include "room.h" #include "trig.h" #include "structures.h" -#include "functions.h" #include "fileScreen.h" +#include "random.h" +#include "functions.h" void (*const gUnk_080D1AFC[8])(Entity*); void (*const gUnk_080D1B1C[7])(Entity*); diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c index fc09db31..fe6fe0fc 100644 --- a/src/enemy/hangingSeed.c +++ b/src/enemy/hangingSeed.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "enemy.h" #include "functions.h" extern void (*const gHangingSeedFunctions[])(Entity*); diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index 64a97b39..c36db42b 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -1,4 +1,5 @@ #include "enemy.h" +#include "random.h" #include "functions.h" extern void sub_08008796(Entity*, u32, u32, u32); diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index a011fcb7..0da3cb57 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -1,5 +1,7 @@ #include "global.h" #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" extern Entity* gUnk_020000B0; diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 2c5dc02b..0f3a090f 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -2,6 +2,7 @@ #include "entity.h" #include "enemy.h" #include "player.h" +#include "random.h" #include "functions.h" extern void sub_08001328(Entity*); diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index 00e220cc..ccf93784 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "enemy.h" #include "functions.h" #include "trig.h" #include "random.h" @@ -33,7 +34,6 @@ typedef struct { s8 y; } PACKED OffsetCoords; - // Variables extern void (*const gUnk_080D0110[])(Entity*); extern void (*const gUnk_080D0128[])(Entity*); diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 7e2f0774..4e6fb823 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -1,6 +1,7 @@ #include "global.h" #include "entity.h" #include "enemy.h" +#include "random.h" #include "functions.h" extern u32 sub_080002D4(s32, s32, u32); diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index b5596a55..fb16c1ee 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -1,8 +1,9 @@ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "textbox.h" #include "save.h" +#include "random.h" +#include "functions.h" extern bool32 sub_080544B4(u32); diff --git a/src/enemy/madderpillar.c b/src/enemy/madderpillar.c index cea511b4..bca381f6 100644 --- a/src/enemy/madderpillar.c +++ b/src/enemy/madderpillar.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern u8 gEntCount; diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index c0114ff1..50a10eec 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -1,5 +1,7 @@ #include "global.h" #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" extern void sub_08045678(Entity*); diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 993d7666..ad880319 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -1,6 +1,8 @@ #include "global.h" #include "entity.h" +#include "enemy.h" #include "room.h" +#include "random.h" #include "functions.h" void sub_08045374(Entity*); diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index 186bee30..8061aff7 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" void sub_08022EAC(Entity*); diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index 3bf68715..62c75be4 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern void sub_0800449C(Entity*, u32); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index 199742bc..ec102485 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -1,5 +1,7 @@ #include "global.h" #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" extern Entity* sub_08049DF4(u32); diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index 165bf1eb..b2d27d02 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -1,4 +1,6 @@ #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" extern void (*const gPeahatFunctions[])(Entity*); diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index a22dd53b..8d8e39fa 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern u32 sub_080002E0(u16, u32); diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 80c98278..8daec1d7 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern u32 sub_080002E0(u32, u32); diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c index 01a0c9c7..91d2a66c 100644 --- a/src/enemy/rockChuchu.c +++ b/src/enemy/rockChuchu.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern void sub_0804A4E4(Entity*, Entity*); diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index 7ef108b4..474f3849 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -1,4 +1,6 @@ #include "entity.h" +#include "enemy.h" +#include "random.h" #include "functions.h" extern void (*const gRollobiteFunctions[])(Entity*); diff --git a/src/enemy/rope.c b/src/enemy/rope.c index e76f8ec1..44a955b1 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -1,8 +1,9 @@ #include "global.h" #include "entity.h" #include "sprite.h" -#include "functions.h" #include "enemy.h" +#include "random.h" +#include "functions.h" extern void (*const gRope[6])(Entity*); extern void (*const gUnk_080CE460[4])(Entity*); diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 6ef1e9fa..2235bcf9 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -1,6 +1,8 @@ #include "global.h" #include "entity.h" +#include "enemy.h" #include "room.h" +#include "random.h" #include "functions.h" typedef struct { diff --git a/src/enemy/sluggula.c b/src/enemy/sluggula.c index 86b90864..436baf3c 100644 --- a/src/enemy/sluggula.c +++ b/src/enemy/sluggula.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern s32 sub_080012DC(Entity*); diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index d39712ef..8eb16b63 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -1,6 +1,7 @@ #include "global.h" #include "entity.h" #include "position.h" +#include "random.h" #include "functions.h" extern u32 GetNextFunction(Entity*); diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c index c206edd2..d15068a6 100644 --- a/src/enemy/spearMoblin.c +++ b/src/enemy/spearMoblin.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern bool32 sub_0806FC80(Entity*, Entity*, u32); diff --git a/src/enemy/spikedBeetle.c b/src/enemy/spikedBeetle.c index e1c32ce0..57d11579 100644 --- a/src/enemy/spikedBeetle.c +++ b/src/enemy/spikedBeetle.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern u32 sub_0804A024(Entity*, u32, u32); diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index 873962c9..7a2f50fa 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -1,5 +1,6 @@ #include "enemy.h" #include "entity.h" +#include "random.h" #include "functions.h" extern void sub_08001318(Entity*); diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index a738d82a..f8af6e9d 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -1,6 +1,7 @@ #include "global.h" #include "entity.h" #include "enemy.h" +#include "random.h" #include "functions.h" extern void (*const gUnk_080CDED0[])(Entity*); diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index 3bf14e34..d3f5f0b5 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -1,8 +1,9 @@ #include "global.h" #include "entity.h" #include "enemy.h" -#include "functions.h" #include "flags.h" +#include "random.h" +#include "functions.h" extern void sub_08038168(Entity*); diff --git a/src/enemy/wallMaster.c b/src/enemy/wallMaster.c index 1ba24a96..394e8620 100644 --- a/src/enemy/wallMaster.c +++ b/src/enemy/wallMaster.c @@ -1,7 +1,8 @@ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "area.h" +#include "random.h" +#include "functions.h" extern void sub_08001328(Entity*); extern Entity* sub_08049DF4(u32); diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c index ffe1d1e9..7023c024 100644 --- a/src/enemy/wallMaster2.c +++ b/src/enemy/wallMaster2.c @@ -1,6 +1,7 @@ #include "enemy.h" -#include "functions.h" #include "area.h" +#include "random.h" +#include "functions.h" extern void sub_08001328(Entity*); extern void DoExitTransition(u32*); diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index 87b80940..017eb2b9 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -1,7 +1,8 @@ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "screen.h" +#include "random.h" +#include "functions.h" void sub_0802A39C(Entity*); void sub_0802A334(Entity*); diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index 10463258..195838af 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -3,8 +3,9 @@ #include "enemy.h" #include "structures.h" #include "player.h" -#include "functions.h" #include "save.h" +#include "random.h" +#include "functions.h" extern void (*const gUnk_080CEB74[])(Entity*); extern void (*const gUnk_080CEB8C[])(Entity*); diff --git a/src/entity.c b/src/entity.c index 47acc2dc..cef327b6 100644 --- a/src/entity.c +++ b/src/entity.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "dma.h" typedef struct OtherEntity { struct OtherEntity* prev; @@ -22,8 +23,7 @@ Entity* sub_0805E744(void) { return NULL; } -extern Entity* GetEmptyEntity(); -OtherEntity* GetEmptyManager(); +OtherEntity* GetEmptyManager(void); typedef void* (*Getter)(void); @@ -47,7 +47,7 @@ typedef struct { extern struct_03003DD0 gUnk_03003DD0; extern u32 _call_via_r0(u32*); extern u32 _EntUpdate; -extern void DeleteEntityAny(Entity*); +void DeleteEntityAny(Entity*); void DeleteThisEntity(void) { DeleteEntityAny(gUnk_03003DD0.field_0x8); @@ -80,7 +80,7 @@ extern void UnloadCutsceneData(); extern void UnloadHitbox(); extern void sub_0801DA0C(); extern void sub_0804AA1C(); -extern void UnlinkEntity(); // Unlink +void UnlinkEntity(); void DeleteEntity(Entity* ent) { if (ent->next) { @@ -159,7 +159,6 @@ OtherEntity* GetEmptyManager(void) { return NULL; } -extern void MemClear(void*, u32); extern u8 gManagerCount; void DeleteManager(OtherEntity* ent) { @@ -183,8 +182,7 @@ void sub_0805E92C(u32 param_1) { } extern Entity gUnk_020369F0; -extern void MemCopy(const void* src, void* dest, size_t size); // dma copy -extern void sub_0805E98C(void); +void sub_0805E98C(void); void sub_0805E958(void) { MemCopy(&gEntityLists, &gUnk_020369F0, 0x48); @@ -236,32 +234,32 @@ void sub_0805E9F4(void) { extern void sub_0805E374(Entity*); -void AppendEntityToList(Entity* ent, int listIndex) { +void AppendEntityToList(Entity* entity, u32 listIndex) { LinkedList* list; list = &gEntityLists[listIndex]; - ent->next = (Entity*)list; - ent->prev = list->last; - list->last->next = ent; - list->last = ent; - if (ent->kind != 9) { - ent->spritePriority.b0 = 4; + entity->next = (Entity*)list; + entity->prev = list->last; + list->last->next = entity; + list->last = entity; + if (entity->kind != 9) { + entity->spritePriority.b0 = 4; gEntCount++; } else { gManagerCount++; } - sub_0805E374(ent); + sub_0805E374(entity); } -void PrependEntityToList(Entity* ent, int listIndex) { +void PrependEntityToList(Entity* entity, int listIndex) { LinkedList* list; - UnlinkEntity(ent); + UnlinkEntity(entity); list = &gEntityLists[listIndex]; - ent->prev = (Entity*)list; - ent->next = list->first; - list->first->prev = ent; - list->first = ent; + entity->prev = (Entity*)list; + entity->next = list->first; + list->first->prev = entity; + list->first = entity; } void UnlinkEntity(Entity* ent) { diff --git a/src/fileScreen.c b/src/fileScreen.c index 1862bdb6..78ed7e91 100644 --- a/src/fileScreen.c +++ b/src/fileScreen.c @@ -1,5 +1,11 @@ #include "fileScreen.h" +#include "main.h" +#include "player.h" +#include "readKeyInput.h" +#include "screen.h" +#include "menu.h" #include "dma.h" +#include "random.h" // copy, erase, start #define NUM_FILE_OPERATIONS 3 diff --git a/src/game.c b/src/game.c index bf44ea66..4ae96174 100644 --- a/src/game.c +++ b/src/game.c @@ -2,7 +2,6 @@ #include "screen.h" #include "structures.h" #include "dma.h" -#include "functions.h" #include "screen.h" #include "entity.h" #include "player.h" @@ -10,7 +9,9 @@ #include "main.h" #include "flags.h" #include "save.h" +#include "readKeyInput.h" #include "fileScreen.h" +#include "functions.h" extern u8 gArea; extern u32 gUnk_03000B80; diff --git a/src/manager/manager1A.c b/src/manager/manager1A.c index fc08d6cc..d9912a7e 100644 --- a/src/manager/manager1A.c +++ b/src/manager/manager1A.c @@ -223,5 +223,5 @@ void sub_0805B390(u32 unk1) { tmp->type = 0x9; tmp->subtype = 0x1A; tmp->unk_0a = unk1; - AppendEntityToList(tmp, 6); + AppendEntityToList((Entity*)tmp, 6); } diff --git a/src/manager/manager28.c b/src/manager/manager28.c index f60541e2..f6790624 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -46,7 +46,7 @@ void Manager28_Init(Manager28* this) { /* tmp3->enemies[tmp4] = this->enemies[tmp4]; */ /* } */ tmp3->d = this->d; - AppendEntityToList(tmp3, 6); + AppendEntityToList((Entity*)tmp3, 6); } } DeleteManager(&this->manager); diff --git a/src/manager/manager3.c b/src/manager/manager3.c index 5234f149..d4053961 100644 --- a/src/manager/manager3.c +++ b/src/manager/manager3.c @@ -4,6 +4,7 @@ #include "area.h" #include "room.h" #include "player.h" +#include "random.h" #include "functions.h" typedef struct { diff --git a/src/manager/managerB.c b/src/manager/managerB.c index cfa48775..6ea279dc 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -130,7 +130,7 @@ ManagerBHelper* CreateHelper(Manager* this) { extra->manager.parent = this; this->unk_0e++; MemClear(&extra->enemies, 0x20); - AppendEntityToList(extra, 8); + AppendEntityToList((Entity*)extra, 8); } return extra; } diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 25b5b50d..f7251ac0 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -2,8 +2,9 @@ #include "entity.h" #include "player.h" #include "structures.h" -#include "functions.h" #include "script.h" +#include "random.h" +#include "functions.h" extern void (*gUnk_081140D4[])(Entity*); diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index 913f30cc..4e2e47fb 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -1,12 +1,13 @@ #include "global.h" #include "entity.h" -#include "functions.h" #include "flags.h" #include "player.h" #include "room.h" #include "textbox.h" #include "save.h" #include "script.h" +#include "npc.h" +#include "functions.h" extern void (*gUnk_081115C0[])(Entity*); extern void (*gUnk_081115D0[])(Entity*); @@ -132,7 +133,7 @@ void FUN_08068b2c(Entity* this) { } void sub_08068B70(Entity* this) { - if (UpdateFuseInteraction()) { + if (UpdateFuseInteraction(this)) { this->action = 1; } } diff --git a/src/npc/carpenter.c b/src/npc/carpenter.c index 53e719f8..83ac3bfc 100644 --- a/src/npc/carpenter.c +++ b/src/npc/carpenter.c @@ -2,6 +2,7 @@ #include "entity.h" #include "sprite.h" #include "player.h" +#include "npc.h" #include "functions.h" extern SpriteLoadData gUnk_08110CA8[]; diff --git a/src/npc/cow.c b/src/npc/cow.c index 18e18927..f942b424 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -1,6 +1,8 @@ #include "global.h" #include "entity.h" #include "player.h" +#include "random.h" +#include "npc.h" #include "functions.h" extern void (*gUnk_08111914[])(Entity*); diff --git a/src/npc/epona.c b/src/npc/epona.c index a79ccd48..a3e8536f 100644 --- a/src/npc/epona.c +++ b/src/npc/epona.c @@ -2,6 +2,7 @@ #include "entity.h" #include "textbox.h" #include "player.h" +#include "npc.h" #include "functions.h" void sub_08065A64(Entity* this); @@ -43,7 +44,7 @@ void sub_08065A10(Entity* this) { } void sub_08065A34(Entity* this) { - if (UpdateFuseInteraction() != 0) { + if (UpdateFuseInteraction(this) != 0) { this->action = 1; InitAnimationForceUpdate(this, this->animationState / 2); } diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index a44f413b..73044b47 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -4,10 +4,11 @@ #include "flags.h" #include "textbox.h" #include "player.h" -#include "structures.h" -#include "functions.h" #include "save.h" #include "script.h" +#include "random.h" +#include "structures.h" +#include "functions.h" extern void sub_080600F0(Entity*); extern s32 sub_0806EDD8(Entity*, u32, u32); diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 9fd402c5..b4a44355 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -89,7 +89,7 @@ void sub_08069684(void) { if (mgr != NULL) { mgr->type = 9; mgr->subtype = 0x31; - AppendEntityToList(mgr, 8); + AppendEntityToList((Entity*)mgr, 8); } } } diff --git a/src/npc/malon.c b/src/npc/malon.c index 47052160..0799e8b3 100644 --- a/src/npc/malon.c +++ b/src/npc/malon.c @@ -1,7 +1,8 @@ #include "global.h" -#include "functions.h" #include "entity.h" #include "script.h" +#include "npc.h" +#include "functions.h" extern void (*gUnk_0810FF5C[])(Entity* this); extern void (*gUnk_0810FF64[])(Entity* this); diff --git a/src/npc/melari.c b/src/npc/melari.c index 9758c20d..8e9077e3 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -2,8 +2,9 @@ #include "entity.h" #include "npc.h" #include "textbox.h" -#include "functions.h" #include "script.h" +#include "random.h" +#include "functions.h" extern void sub_08068780(Entity*); extern s32 sub_0806EDD8(Entity*, u32, u32); diff --git a/src/npc/smith.c b/src/npc/smith.c index ac3a9d4c..c7e4b1e8 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -1,9 +1,11 @@ #include "global.h" #include "entity.h" #include "textbox.h" -#include "functions.h" #include "save.h" #include "script.h" +#include "random.h" +#include "npc.h" +#include "functions.h" extern void sub_08078850(u32, u32, u32, u32*); diff --git a/src/npc/talon.c b/src/npc/talon.c index 24380fc9..d7d6f857 100644 --- a/src/npc/talon.c +++ b/src/npc/talon.c @@ -1,9 +1,11 @@ #include "global.h" #include "entity.h" #include "textbox.h" -#include "functions.h" #include "player.h" #include "script.h" +#include "npc.h" +#include "random.h" +#include "functions.h" extern void (*gUnk_0810FEC4[])(Entity* this); extern void (*gUnk_0810FEBC[])(Entity* this); @@ -83,7 +85,7 @@ void sub_08065648(Entity* this) { } void sub_08065680(Entity* this) { - if (UpdateFuseInteraction() != 0) { + if (UpdateFuseInteraction(this) != 0) { this->action = this->field_0x68.HALF.HI; InitAnimationForceUpdate(this, this->field_0x6a.HALF.LO); } diff --git a/src/npc/teachers.c b/src/npc/teachers.c index 87fb3180..bf7e6983 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -1,9 +1,10 @@ #include "global.h" #include "entity.h" #include "player.h" -#include "functions.h" #include "save.h" #include "script.h" +#include "npc.h" +#include "functions.h" extern SpriteLoadData gUnk_08113910[]; diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 7f87dd41..fcea0ff4 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -4,10 +4,11 @@ #include "player.h" #include "textbox.h" #include "flags.h" -#include "structures.h" -#include "functions.h" #include "save.h" #include "script.h" +#include "random.h" +#include "structures.h" +#include "functions.h" typedef struct { u8 frame1; diff --git a/src/npc/zelda.c b/src/npc/zelda.c index 62672012..4704b5bb 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -5,7 +5,6 @@ #include "flags.h" #include "script.h" -extern void PrependEntityToList(Entity*, u32); extern Entity* FindEntityBySubtype(u32, u32); void sub_08068680(Entity*, Entity*); void sub_08068694(Entity*, Entity*); diff --git a/src/object/backgroundCloud.c b/src/object/backgroundCloud.c index ceebf3d7..1ee11b67 100644 --- a/src/object/backgroundCloud.c +++ b/src/object/backgroundCloud.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "random.h" #include "functions.h" extern void (*const gUnk_08121EA4[])(Entity*); diff --git a/src/object/bird.c b/src/object/bird.c index 2b6f194b..9d21f708 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -1,8 +1,9 @@ #include "global.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "save.h" +#include "random.h" +#include "functions.h" extern void (*const gUnk_08123EC0[])(Entity*); extern void (*const gUnk_08123EEC[])(Entity*); diff --git a/src/object/cloud.c b/src/object/cloud.c index de6aa165..674c1d73 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -3,6 +3,7 @@ #include "room.h" #include "player.h" #include "flags.h" +#include "random.h" #include "functions.h" #include "structures.h" diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index a35ea276..4424032d 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -1,13 +1,14 @@ #include "global.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "main.h" #include "menu.h" #include "npc.h" #include "position.h" -#include "structures.h" #include "fileScreen.h" +#include "readKeyInput.h" +#include "structures.h" +#include "functions.h" extern int sub_0807A094(int); extern u32 sub_080041EC(int, int); diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 85d7474b..886fdf43 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -2,10 +2,11 @@ #include "entity.h" #include "room.h" #include "screen.h" -#include "structures.h" #include "greatFairy.h" #include "flags.h" #include "save.h" +#include "random.h" +#include "structures.h" #include "functions.h" enum { diff --git a/src/object/lilypadSmall.c b/src/object/lilypadSmall.c index a96c49ad..ce0d8c08 100644 --- a/src/object/lilypadSmall.c +++ b/src/object/lilypadSmall.c @@ -1,7 +1,8 @@ #include "global.h" #include "entity.h" -#include "functions.h" #include "player.h" +#include "random.h" +#include "functions.h" extern void sub_080A2CC0(Entity*, Entity**, u16*); diff --git a/src/object/mask.c b/src/object/mask.c index ffe931b1..b6d06206 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -7,7 +7,6 @@ #include "flags.h" #include "functions.h" - extern void (*MaskActionFuncs[])(Entity*); extern void sub_08000148(u16, u16, u32); diff --git a/src/object/object1A.c b/src/object/object1A.c index 26ece918..7b8fbcb2 100644 --- a/src/object/object1A.c +++ b/src/object/object1A.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "random.h" #include "functions.h" extern void sub_08086A6C(); diff --git a/src/object/objectA2.c b/src/object/objectA2.c index 01fd9fa6..89a2041c 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -1,6 +1,7 @@ #include "global.h" #include "object.h" #include "menu.h" +#include "random.h" #include "structures.h" #include "functions.h" diff --git a/src/object/smoke.c b/src/object/smoke.c index 679894a8..4c2739dd 100644 --- a/src/object/smoke.c +++ b/src/object/smoke.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "random.h" #include "functions.h" extern void (*const gUnk_08121060[])(Entity*); diff --git a/src/object/windTribeFlag.c b/src/object/windTribeFlag.c index 9c769808..14f64fba 100644 --- a/src/object/windTribeFlag.c +++ b/src/object/windTribeFlag.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "random.h" #include "functions.h" void WindTribeFlag(Entity* this) { diff --git a/src/room.c b/src/room.c index 0af93d77..f79da48d 100644 --- a/src/room.c +++ b/src/room.c @@ -2,7 +2,6 @@ #include "entity.h" #include "area.h" #include "room.h" -#include "functions.h" #include "flags.h" #include "npc.h" #include "player.h" @@ -10,6 +9,8 @@ #include "main.h" #include "structures.h" #include "save.h" +#include "random.h" +#include "functions.h" void sub_0804B3C4(void* arg0) { sub_0804B29C(arg0); diff --git a/src/script.c b/src/script.c index a686b371..3033d528 100644 --- a/src/script.c +++ b/src/script.c @@ -6,8 +6,9 @@ #include "structures.h" #include "textbox.h" #include "dma.h" -#include "functions.h" #include "save.h" +#include "random.h" +#include "functions.h" void sub_0807DAF0(Entity*, ScriptExecutionContext*, u16*); void sub_0807DB88(ScriptExecutionContext*, u16*); diff --git a/src/sub_0804AFF4.c b/src/sub_0804AFF4.c index bdd0cf50..b2555120 100644 --- a/src/sub_0804AFF4.c +++ b/src/sub_0804AFF4.c @@ -5,14 +5,14 @@ extern u32* GetCurrentRoomProperty(u8); extern void sub_0804B16C(); void sub_0804AFF4(void) { - void(*func)(); + void (*func)(); sub_080186EC(); - func = (void(*)())GetCurrentRoomProperty(5); + func = (void (*)())GetCurrentRoomProperty(5); if (func) { func(); } - func = (void(*)())GetCurrentRoomProperty(7); + func = (void (*)())GetCurrentRoomProperty(7); if (func) { func(); } From a563bfbc285a24be6b17a32364aa3236170acc60 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Mar 2021 23:40:11 +0100 Subject: [PATCH 3/5] more cleanup --- include/createObject.h | 8 ++++++++ include/enemy.h | 1 - include/functions.h | 9 ++------- include/game.h | 6 ++++++ include/position.h | 1 + src/code_08018C58.c | 1 - src/code_080300AC.c | 1 - src/code_0805436C.c | 1 - src/createEnemy.c | 3 +-- src/createNPC.c | 1 - src/createObject.c | 2 +- src/enemy/bobomb.c | 2 +- src/enemy/gyorgMale.c | 1 - src/enemy/likeLike.c | 1 + src/enemy/miniSlime.c | 1 - src/enemy/pesto.c | 2 ++ src/enemy/rope.c | 1 - src/enemy/rupeeLike.c | 4 ++-- src/enemy/vaatiBall.c | 3 ++- src/enemy/wisp.c | 2 +- src/ezloNag.c | 1 - src/flags.c | 1 - src/game.c | 2 +- src/input.c | 1 - src/intro.c | 1 - src/manager/manager15.c | 2 +- src/manager/manager1E.c | 1 - src/manager/manager39.c | 1 + src/manager/managerC.c | 1 - src/npc.c | 1 - src/npc/anju.c | 4 ---- src/npc/carlov.c | 8 +------- src/npc/cow.c | 3 +++ src/npc/dampe.c | 1 - src/npc/forestMinish.c | 1 + src/npc/mayorHagen.c | 3 --- src/npc/moblinLady.c | 6 ------ src/npc/smith.c | 2 +- src/object/archway.c | 3 +-- src/object/chestSpawner.c | 1 - src/object/cloud.c | 2 +- src/object/floatingBlock.c | 1 - src/object/minishSizedEntrance.c | 1 + src/object/objectA.c | 1 + src/object/pinwheel.c | 2 +- src/object/windTribeFlag.c | 1 - src/player.c | 3 ++- src/position.c | 1 - src/room.c | 2 +- src/script.c | 2 +- src/sub_0801D754.c | 1 - src/sub_0807C998.c | 1 - 52 files changed, 46 insertions(+), 67 deletions(-) create mode 100644 include/createObject.h create mode 100644 include/game.h diff --git a/include/createObject.h b/include/createObject.h new file mode 100644 index 00000000..03f3632e --- /dev/null +++ b/include/createObject.h @@ -0,0 +1,8 @@ +#ifndef CREATEOBJECT_H +#define CREATEOBJECT_H + +// maybe a dedicated (create)Effect.h/c +void CreateDust(Entity* parent); +void CreateDustSmall(Entity* parent); + +#endif // CREATEOBJECT_H diff --git a/include/enemy.h b/include/enemy.h index 22a62f78..0b3e8ecb 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -109,6 +109,5 @@ extern void Enemy66(Entity*); extern u32 GetNextFunction(Entity*); extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*)); -extern void sub_0804AA30(Entity*, void (*const func[])(Entity*)); extern void sub_08001324(Entity*); #endif diff --git a/include/functions.h b/include/functions.h index 48bcdd13..2b7a7888 100644 --- a/include/functions.h +++ b/include/functions.h @@ -7,8 +7,8 @@ #include "manager.h" #include "position.h" #include "player.h" -#include "structures.h" #include "room.h" +#include "structures.h" // Identified - to be sorted into header files extern void SoundReq(u32); @@ -17,7 +17,7 @@ extern u32 __modsi3(u32, u32); extern void DoFade(u32, u32); extern u32 CheckKinstoneFused(u32); extern void ForceEquipItem(u32, u8); -extern void LoadRoomEntityList(); +extern void LoadRoomEntityList(EntityData* listPtr); extern u32 GetAnimationState(Entity*); extern void SetChildOffset(Entity*, s32, s32, s32); extern Entity* CreatePlayerItem(u32, u32, u32, u32); @@ -29,7 +29,6 @@ extern void SetDirtTile(u32); extern void LoadRoomTileEntities(); // tba extern Entity* CreateDeathFx(Entity*, u32, u32); extern void UpdateAnimationVariableFrames(Entity*, u32); -extern void CopyPositionAndSpriteOffset(Entity*, Entity*); extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); extern Entity* CreateItemEntity(u32, u32, u32); @@ -42,19 +41,15 @@ extern Manager* GetEmptyManager(void); extern void LoadGfxGroup(u32); extern void EnqueueSFX(u32); extern void ResetPlayer(void); -extern void CreateDust(Entity*); extern u32 IsItemEquipped(u32); extern void DeleteManager(Manager*); extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); -extern u32 CheckIsDungeon(); extern u32 GetTileTypeByEntity(Entity*); // Unidentified extern u32 sub_0806ED78(Entity*); -extern void sub_0806920C(Entity*); extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); -extern void sub_0806924C(Entity*); extern Entity* sub_080873AC(Entity*, u32, u32); extern void sub_08078778(Entity*); extern void sub_080787A8(Entity*, u32); diff --git a/include/game.h b/include/game.h new file mode 100644 index 00000000..dec15e21 --- /dev/null +++ b/include/game.h @@ -0,0 +1,6 @@ +#ifndef GAME_H +#define GAME_H + +u32 CheckIsDungeon(void); + +#endif // GAME_H diff --git a/include/position.h b/include/position.h index 4635a097..87d5b128 100644 --- a/include/position.h +++ b/include/position.h @@ -7,6 +7,7 @@ void CopyPosition(Entity*, Entity*); void PositionEntityOnTop(Entity*, Entity*); void PositionRelative(Entity*, Entity*, s32, s32); +void CopyPositionAndSpriteOffset(Entity* param_1, Entity* param_2); void sub_0806FA90(Entity*, Entity*, s32, s32); void ResolveEntityOnTop(Entity*, Entity*); void sub_0806FAD8(Entity*, Entity*); diff --git a/src/code_08018C58.c b/src/code_08018C58.c index fd918e31..14caf9cd 100644 --- a/src/code_08018C58.c +++ b/src/code_08018C58.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" extern u32 SetTileType(u32 tileID, u32 tilePos, u32 layerID); diff --git a/src/code_080300AC.c b/src/code_080300AC.c index 5f33b435..16514810 100644 --- a/src/code_080300AC.c +++ b/src/code_080300AC.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" #include "dma.h" #include "functions.h" diff --git a/src/code_0805436C.c b/src/code_0805436C.c index be879f99..1361e996 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" #include "player.h" #include "room.h" #include "menu.h" diff --git a/src/createEnemy.c b/src/createEnemy.c index d2c08c81..73eb5e5c 100644 --- a/src/createEnemy.c +++ b/src/createEnemy.c @@ -1,6 +1,5 @@ -#include "entity.h" #include "global.h" -#include "functions.h" +#include "entity.h" Entity* CreateEnemy(u32 subtype, u32 form) { Entity* enemy; diff --git a/src/createNPC.c b/src/createNPC.c index 6289166f..7e57e92e 100644 --- a/src/createNPC.c +++ b/src/createNPC.c @@ -1,6 +1,5 @@ #include "global.h" #include "entity.h" -#include "functions.h" Entity* CreateNPC(u32 subtype, u32 form, u32 parameter) { Entity* entity; diff --git a/src/createObject.c b/src/createObject.c index f0a79d43..dc8de778 100644 --- a/src/createObject.c +++ b/src/createObject.c @@ -2,7 +2,7 @@ #include "entity.h" #include "position.h" #include "room.h" -#include "functions.h" +#include "createObject.h" Entity* CreateObject(u32 subtype, u32 form, u32 parameter) { Entity* entity; diff --git a/src/enemy/bobomb.c b/src/enemy/bobomb.c index 43b1a2c2..99cb1f3c 100644 --- a/src/enemy/bobomb.c +++ b/src/enemy/bobomb.c @@ -1,8 +1,8 @@ #include "enemy.h" #include "random.h" +#include "createObject.h" #include "functions.h" -extern void CreateDustSmall(Entity*); extern void sub_08078930(Entity*); extern void sub_08078954(Entity*); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index 66752186..8ee6aaa2 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -3,7 +3,6 @@ #include "player.h" #include "room.h" #include "trig.h" -#include "structures.h" #include "fileScreen.h" #include "random.h" #include "functions.h" diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index fb16c1ee..2175ad92 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -3,6 +3,7 @@ #include "textbox.h" #include "save.h" #include "random.h" +#include "createObject.h" #include "functions.h" extern bool32 sub_080544B4(u32); diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 6df8075a..7fba14ed 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -1,7 +1,6 @@ #include "global.h" #include "entity.h" #include "enemy.h" -#include "room.h" #include "random.h" #include "functions.h" diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index 50826bc9..e778ebe4 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -1,6 +1,8 @@ #include "enemy.h" #include "entity.h" #include "random.h" +#include "createObject.h" +#include "game.h" #include "functions.h" extern u32 sub_080002E0(u16, u32); diff --git a/src/enemy/rope.c b/src/enemy/rope.c index d270c688..877f87c6 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -1,6 +1,5 @@ #include "global.h" #include "entity.h" -#include "sprite.h" #include "enemy.h" #include "random.h" #include "functions.h" diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index 64584892..be13ab0b 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -1,11 +1,11 @@ #include "global.h" #include "entity.h" #include "enemy.h" -#include "functions.h" #include "npc.h" -#include "structures.h" #include "player.h" #include "save.h" +#include "createObject.h" +#include "functions.h" extern void sub_080293DC(Entity*); extern void sub_080296D8(Entity*); diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c index e2223166..3907e270 100644 --- a/src/enemy/vaatiBall.c +++ b/src/enemy/vaatiBall.c @@ -1,7 +1,8 @@ #include "entity.h" #include "player.h" -#include "functions.h" #include "screen.h" +#include "createObject.h" +#include "functions.h" typedef struct { s8 h, v; diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index 195838af..0c37302c 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -1,10 +1,10 @@ #include "global.h" #include "entity.h" #include "enemy.h" -#include "structures.h" #include "player.h" #include "save.h" #include "random.h" +#include "createObject.h" #include "functions.h" extern void (*const gUnk_080CEB74[])(Entity*); diff --git a/src/ezloNag.c b/src/ezloNag.c index 7d537a44..46c94d43 100644 --- a/src/ezloNag.c +++ b/src/ezloNag.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" #include "functions.h" #include "textbox.h" #include "structures.h" diff --git a/src/flags.c b/src/flags.c index 6f1d5d56..2129ae01 100644 --- a/src/flags.c +++ b/src/flags.c @@ -2,7 +2,6 @@ #include "room.h" #include "flags.h" #include "area.h" -#include "room.h" extern u32 ReadBit(u32*, u32); extern u32 CheckBits(u32*, u32, u32); diff --git a/src/game.c b/src/game.c index 3db89d90..0b6488a5 100644 --- a/src/game.c +++ b/src/game.c @@ -300,7 +300,7 @@ u32 sub_08052654() { return (gArea >> 7) & 1; } -u32 CheckIsDungeon() { +u32 CheckIsDungeon(void) { return (gArea >> 2) & 1; } diff --git a/src/input.c b/src/input.c index c187d598..6c1179f4 100644 --- a/src/input.c +++ b/src/input.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" #include "readKeyInput.h" static void StoreKeyInput(Input*, u32); diff --git a/src/intro.c b/src/intro.c index a0eb8db7..4fd85e48 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1,5 +1,4 @@ #include "global.h" -#include "menu.h" #include "main.h" #include "entity.h" #include "dma.h" diff --git a/src/manager/manager15.c b/src/manager/manager15.c index 60ca8f5a..f1de0895 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -78,7 +78,7 @@ extern Entity gUnk_080E4C08; void sub_0805A370(Manager15* this) { if (this->manager.unk_0d) { - LoadRoomEntityList(&gUnk_080E4C08); + LoadRoomEntityList((EntityData*)&gUnk_080E4C08); this->manager.action = 3; SoundReq(0x80100000); } diff --git a/src/manager/manager1E.c b/src/manager/manager1E.c index 298e7860..fad34ef4 100644 --- a/src/manager/manager1E.c +++ b/src/manager/manager1E.c @@ -1,7 +1,6 @@ #include "global.h" #include "manager.h" #include "flags.h" -#include "player.h" #include "functions.h" typedef struct { diff --git a/src/manager/manager39.c b/src/manager/manager39.c index 8c1c1532..b8bd327c 100644 --- a/src/manager/manager39.c +++ b/src/manager/manager39.c @@ -4,6 +4,7 @@ #include "area.h" #include "textbox.h" #include "dma.h" +#include "game.h" #include "functions.h" typedef struct { diff --git a/src/manager/managerC.c b/src/manager/managerC.c index 972fc67b..5cf482c5 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -3,7 +3,6 @@ #include "flags.h" #include "structures.h" #include "room.h" -#include "area.h" #include "screen.h" #include "trig.h" #include "functions.h" diff --git a/src/npc.c b/src/npc.c index d7f38b6a..4a94399b 100644 --- a/src/npc.c +++ b/src/npc.c @@ -1,5 +1,4 @@ #include "global.h" -#include "functions.h" #include "entity.h" #include "npc.h" diff --git a/src/npc/anju.c b/src/npc/anju.c index e21afba1..e0fb08c8 100644 --- a/src/npc/anju.c +++ b/src/npc/anju.c @@ -1,10 +1,6 @@ #include "global.h" #include "entity.h" #include "player.h" -#include "room.h" -#include "flags.h" -#include "sprite.h" -#include "textbox.h" #include "npc.h" #include "script.h" #include "functions.h" diff --git a/src/npc/carlov.c b/src/npc/carlov.c index a96b916e..92d632ed 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -1,15 +1,9 @@ #include "global.h" #include "entity.h" -#include "player.h" #include "room.h" -#include "flags.h" -#include "sprite.h" -#include "textbox.h" #include "npc.h" -#include "structures.h" -#include "functions.h" #include "script.h" - +#include "functions.h" void Carlov(Entity* this) { if (this->action == 0) { diff --git a/src/npc/cow.c b/src/npc/cow.c index aed9ff0a..9eb67a7b 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -5,6 +5,9 @@ #include "npc.h" #include "functions.h" +void sub_0806920C(Entity* ent); +void sub_0806924C(Entity* ent); + extern void (*gUnk_08111914[])(Entity*); extern void (*gUnk_08111928[])(Entity*); extern Dialog gUnk_08111938[]; diff --git a/src/npc/dampe.c b/src/npc/dampe.c index ab2fa586..150acbe1 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -3,7 +3,6 @@ #include "player.h" #include "room.h" #include "flags.h" -#include "sprite.h" #include "textbox.h" #include "npc.h" #include "functions.h" diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 0f997c34..27d0df3d 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -7,6 +7,7 @@ #include "save.h" #include "script.h" #include "random.h" +#include "createObject.h" #include "structures.h" #include "functions.h" diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index 1f5d36af..ae5f1e0e 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -1,10 +1,7 @@ #include "global.h" #include "entity.h" #include "player.h" -#include "room.h" #include "flags.h" -#include "sprite.h" -#include "textbox.h" #include "npc.h" #include "structures.h" #include "functions.h" diff --git a/src/npc/moblinLady.c b/src/npc/moblinLady.c index 79152daf..d63d4d87 100644 --- a/src/npc/moblinLady.c +++ b/src/npc/moblinLady.c @@ -1,13 +1,7 @@ #include "global.h" #include "entity.h" -#include "player.h" -#include "room.h" -#include "flags.h" -#include "sprite.h" -#include "textbox.h" #include "npc.h" #include "script.h" -#include "functions.h" void MoblinLady(Entity* this) { if (this->action == 0) { diff --git a/src/npc/smith.c b/src/npc/smith.c index 477e7383..6b55c1f7 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -7,7 +7,7 @@ #include "npc.h" #include "functions.h" -extern void sub_08078850(u32, u32, u32, u32*); +extern void sub_08078850(Entity*, u32, u32, u32*); extern void (*const gUnk_08110360[])(Entity*); extern void (*const gUnk_0811036C[])(Entity*); diff --git a/src/object/archway.c b/src/object/archway.c index a33b7dd3..2f1124ca 100644 --- a/src/object/archway.c +++ b/src/object/archway.c @@ -1,7 +1,6 @@ #include "global.h" #include "entity.h" -#include "sprite.h" -#include "functions.h" +#include "game.h" void Archway(Entity* this) { u32 v1; diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index 790d1251..3f7e6006 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -1,6 +1,5 @@ #include "global.h" #include "entity.h" -#include "flags.h" extern void sub_080842D8(Entity*); extern void sub_08078828(Entity*); diff --git a/src/object/cloud.c b/src/object/cloud.c index 45616754..0b7e7c0a 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -60,7 +60,7 @@ void sub_0809F5B0(Entity* this) { if (--this->actionDelay == 0) { SoundReq(115); SetGlobalFlag(KUMOTATSUMAKI); - LoadRoomEntityList(&gUnk_080DD750); + LoadRoomEntityList((EntityData*)&gUnk_080DD750); DeleteThisEntity(); } } diff --git a/src/object/floatingBlock.c b/src/object/floatingBlock.c index 661cec72..7e1ad599 100644 --- a/src/object/floatingBlock.c +++ b/src/object/floatingBlock.c @@ -1,6 +1,5 @@ #include "global.h" #include "entity.h" -#include "functions.h" void FloatingBlock(Entity* this) { if (this->action == 0) { diff --git a/src/object/minishSizedEntrance.c b/src/object/minishSizedEntrance.c index 804772b7..2f08f996 100644 --- a/src/object/minishSizedEntrance.c +++ b/src/object/minishSizedEntrance.c @@ -1,5 +1,6 @@ #include "global.h" #include "entity.h" +#include "game.h" #include "functions.h" extern void (*const gUnk_08122254[])(Entity*); diff --git a/src/object/objectA.c b/src/object/objectA.c index 3679e4bb..0e63b26f 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -2,6 +2,7 @@ #include "entity.h" #include "room.h" #include "flags.h" +#include "createObject.h" #include "functions.h" extern Hitbox gUnk_080FD170; diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c index 7fcbb9a0..7de61338 100644 --- a/src/object/pinwheel.c +++ b/src/object/pinwheel.c @@ -1,7 +1,7 @@ #include "global.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "createObject.h" extern u32 ReadBit(u32*, u32); diff --git a/src/object/windTribeFlag.c b/src/object/windTribeFlag.c index 14f64fba..bc9d0fa3 100644 --- a/src/object/windTribeFlag.c +++ b/src/object/windTribeFlag.c @@ -1,7 +1,6 @@ #include "global.h" #include "entity.h" #include "random.h" -#include "functions.h" void WindTribeFlag(Entity* this) { if (this->action == 0) { diff --git a/src/player.c b/src/player.c index 7dfcbb93..d6359f59 100644 --- a/src/player.c +++ b/src/player.c @@ -2,10 +2,11 @@ #include "entity.h" #include "player.h" #include "textbox.h" -#include "functions.h" #include "readKeyInput.h" #include "area.h" #include "save.h" +#include "game.h" +#include "functions.h" extern const void (*const gUnk_0811B9E0[])(Entity*); extern const void (*const gUnk_0811BA60[])(Entity*); diff --git a/src/position.c b/src/position.c index 628042c3..b5f83468 100644 --- a/src/position.c +++ b/src/position.c @@ -1,7 +1,6 @@ #include "global.h" #include "entity.h" #include "position.h" -#include "functions.h" extern u8 gUnk_08114F78[]; extern u8 gUnk_08114F80[]; diff --git a/src/room.c b/src/room.c index 55625d0a..9c94aa9f 100644 --- a/src/room.c +++ b/src/room.c @@ -4497,7 +4497,7 @@ void sub_0804E3C4() { } r = Random(); index = gUnk_080F0D58[index][r & 0x1f]; - LoadRoomEntityList(gUnk_080F0CB8[index & 0xF]); + LoadRoomEntityList((EntityData*)gUnk_080F0CB8[index & 0xF]); index >>= 4; r >>= 8; index = gUnk_080F0E08[index][r & 0x1F]; diff --git a/src/script.c b/src/script.c index 26aff076..8e9c6c75 100644 --- a/src/script.c +++ b/src/script.c @@ -703,7 +703,7 @@ void ScriptCommand_CallWithArg(Entity* entity, ScriptExecutionContext* context) } void ScriptCommand_LoadRoomEntityList(Entity* entity, ScriptExecutionContext* context) { - LoadRoomEntityList(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); + LoadRoomEntityList((EntityData*)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } void ScriptCommand_TestBit(Entity* entity, ScriptExecutionContext* context) { diff --git a/src/sub_0801D754.c b/src/sub_0801D754.c index a6f103f5..8b1b2b20 100644 --- a/src/sub_0801D754.c +++ b/src/sub_0801D754.c @@ -1,5 +1,4 @@ #include "global.h" -#include "functions.h" extern const u8 gUnk_020176E0[]; diff --git a/src/sub_0807C998.c b/src/sub_0807C998.c index 7c2afd37..608f7680 100644 --- a/src/sub_0807C998.c +++ b/src/sub_0807C998.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" extern void sub_0807C960(); extern u16 gMetatilesBottom[]; From fe4a39b74f2a43e9bc00062e351e2b5432bf60c2 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Mar 2021 23:44:00 +0100 Subject: [PATCH 4/5] missed formatting on this one --- src/npc/dampe.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/npc/dampe.c b/src/npc/dampe.c index 150acbe1..6293bcd7 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -8,7 +8,6 @@ #include "functions.h" #include "script.h" - extern u16 gUnk_08113344[]; extern u16 gUnk_0811334A[]; From 976b661017e79bfb75eb596d98475db90e6eb580 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Mar 2021 21:07:48 +0100 Subject: [PATCH 5/5] polymorphism stuff --- src/manager/manager6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manager/manager6.c b/src/manager/manager6.c index a17fd16b..ff32b405 100644 --- a/src/manager/manager6.c +++ b/src/manager/manager6.c @@ -12,7 +12,7 @@ void sub_08057CB4(Manager6* this) { this->manager.action = 1; this->warpList = GetCurrentRoomProperty(this->manager.unk_0a); if (!this->warpList) { - DeleteManager((Manager*)this); + DeleteManager(&this->manager); return; } }