From 423231bdc63785a2558f48612c21c264f97cf80c Mon Sep 17 00:00:00 2001 From: octorock <79596758+octorock@users.noreply.github.com> Date: Thu, 27 Jan 2022 12:03:58 +0100 Subject: [PATCH] Unify asm for ASM_FUNCs --- ...howNPCDialogue.inc => ShowNPCDialogue.inc} | 0 asm/non_matching/darkNut/sub_08021274.inc | 7 - ...andlerQuestion.inc => TextDispEnquiry.inc} | 0 asm/non_matching/eu/sub_0801B4C8.inc | 103 --------- asm/non_matching/eu/sub_0805457C.inc | 207 ----------------- asm/non_matching/eu/sub_08075338.inc | 180 --------------- asm/non_matching/gleerok/sub_0802D33C.inc | 4 - asm/non_matching/gleerok/sub_0802D3B8.inc | 7 +- .../gyorg_female/sub_08046518.inc | 169 +++++++------- asm/non_matching/itemSword/sub_08075338.inc | 183 +++++++++++++++ ...{sub_0805BBBC.inc => UpdateLightLevel.inc} | 0 ...b_08074678.inc => SurfaceAction_Swamp.inc} | 0 asm/non_matching/playerItem3/sub_0801B4C8.inc | 106 +++++++++ asm/non_matching/sub_0804BF38.inc | 6 - asm/non_matching/sub_0805457C.inc | 210 ++++++++++++++++++ asm/non_matching/sub_08077D38.inc | 7 - asm/non_matching/wallMaster2/sub_0802CF8C.inc | 7 - src/code_0805436C.c | 4 - src/item/itemSword.c | 4 - src/manager/manager22.c | 2 +- src/message.c | 2 +- src/object/pressurePlate.c | 2 +- src/player.c | 2 +- src/playerItem/playerItem3.c | 4 - 24 files changed, 589 insertions(+), 627 deletions(-) rename asm/non_matching/{showNPCDialogue.inc => ShowNPCDialogue.inc} (100%) rename asm/non_matching/eu/{TextBoxHandlerQuestion.inc => TextDispEnquiry.inc} (100%) delete mode 100644 asm/non_matching/eu/sub_0801B4C8.inc delete mode 100644 asm/non_matching/eu/sub_0805457C.inc delete mode 100644 asm/non_matching/eu/sub_08075338.inc rename asm/non_matching/manager22/{sub_0805BBBC.inc => UpdateLightLevel.inc} (100%) rename asm/non_matching/player/{sub_08074678.inc => SurfaceAction_Swamp.inc} (100%) diff --git a/asm/non_matching/showNPCDialogue.inc b/asm/non_matching/ShowNPCDialogue.inc similarity index 100% rename from asm/non_matching/showNPCDialogue.inc rename to asm/non_matching/ShowNPCDialogue.inc diff --git a/asm/non_matching/darkNut/sub_08021274.inc b/asm/non_matching/darkNut/sub_08021274.inc index 9809b641..16891f6b 100644 --- a/asm/non_matching/darkNut/sub_08021274.inc +++ b/asm/non_matching/darkNut/sub_08021274.inc @@ -1,11 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - push {lr} adds r2, r0, #0 movs r0, #7 diff --git a/asm/non_matching/eu/TextBoxHandlerQuestion.inc b/asm/non_matching/eu/TextDispEnquiry.inc similarity index 100% rename from asm/non_matching/eu/TextBoxHandlerQuestion.inc rename to asm/non_matching/eu/TextDispEnquiry.inc diff --git a/asm/non_matching/eu/sub_0801B4C8.inc b/asm/non_matching/eu/sub_0801B4C8.inc deleted file mode 100644 index 75fd152d..00000000 --- a/asm/non_matching/eu/sub_0801B4C8.inc +++ /dev/null @@ -1,103 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, _0801B564 @ =gPlayerState - str r4, [r3, #0x2c] - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0801B568 @ =gUnk_081271CC - str r0, [r4, #0x48] - movs r0, #0xff - strb r0, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - ldr r5, _0801B56C @ =gPlayerEntity - adds r0, r5, #0 - adds r0, #0x60 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x58 - movs r0, #0xb - strb r0, [r1] - str r5, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x86 - strh r2, [r0] - ldrb r1, [r4, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0801B550 - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1f - movs r1, #1 - bics r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0801B550: - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #0xc - bne _0801B570 - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0x3c - b _0801B578 - .align 2, 0 -_0801B564: .4byte gPlayerState -_0801B568: .4byte gUnk_081271CC -_0801B56C: .4byte gPlayerEntity -_0801B570: - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0x1e -_0801B578: - strb r0, [r4, #0xe] - ldrb r1, [r3, #0xd] - movs r0, #0xd - ldrsb r0, [r3, r0] - cmp r0, #0 - blt _0801B588 - strb r1, [r4, #0x15] - b _0801B58E -_0801B588: - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] -_0801B58E: - ldrb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x83 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _0801B5A4 - movs r0, #1 - strb r0, [r4, #0xb] -_0801B5A4: - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl LoadSwapGFX - adds r0, r4, #0 - bl sub_0801766C - adds r0, r4, #0 - bl sub_0801B584 - pop {r4, r5, pc} - .syntax divided diff --git a/asm/non_matching/eu/sub_0805457C.inc b/asm/non_matching/eu/sub_0805457C.inc deleted file mode 100644 index 55d3bca5..00000000 --- a/asm/non_matching/eu/sub_0805457C.inc +++ /dev/null @@ -1,207 +0,0 @@ -.syntax unified - push {r4, r5, r6, r7, lr} - sub sp, #0x20 - adds r6, r0, #0 - adds r3, r1, #0 - ldr r0, _08054138 @ =gRoomVars - ldrb r0, [r0, #2] - cmp r0, #1 - bne _08054126 - b _080542CC -_08054126: - ldr r2, _0805413C @ =gUnk_08001A1C - movs r4, #0 - cmp r3, #0x18 - bhi _080541BC - lsls r0, r3, #2 - ldr r1, _08054140 @ =_08054144 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08054138: .4byte gRoomVars -_0805413C: .4byte gUnk_08001A1C -_08054140: .4byte _08054144 -_08054144: @ jump table - .4byte _080541BC @ case 0 - .4byte _080541A8 @ case 1 - .4byte _080541A8 @ case 2 - .4byte _080541A8 @ case 3 - .4byte _080541A8 @ case 4 - .4byte _080541A8 @ case 5 - .4byte _080541A8 @ case 6 - .4byte _080541A8 @ case 7 - .4byte _080541A8 @ case 8 - .4byte _080541A8 @ case 9 - .4byte _080541A8 @ case 10 - .4byte _080541A8 @ case 11 - .4byte _080541A8 @ case 12 - .4byte _080541BC @ case 13 - .4byte _080541BC @ case 14 - .4byte _080541BA @ case 15 - .4byte _080541B4 @ case 16 - .4byte _080541B4 @ case 17 - .4byte _080541B4 @ case 18 - .4byte _080541B4 @ case 19 - .4byte _080541B4 @ case 20 - .4byte _080541B4 @ case 21 - .4byte _080541B4 @ case 22 - .4byte _080541B4 @ case 23 - .4byte _080541B4 @ case 24 -_080541A8: - lsls r1, r3, #5 - ldr r0, _080541B0 @ =gUnk_0800137C - adds r4, r1, r0 - b _080541BC - .align 2, 0 -_080541B0: .4byte gUnk_0800137C -_080541B4: - lsls r1, r3, #5 - ldr r0, _080541D0 @ =gUnk_0800161C - adds r2, r1, r0 -_080541BA: - ldr r4, _080541D4 @ =gUnk_02034398 -_080541BC: - cmp r4, #0 - bne _080541C2 - b _080542CC -_080541C2: - ldr r0, _080541D8 @ =gSave - adds r0, #0xb3 - ldrb r1, [r0] - cmp r1, #0 - bne _080541E0 - ldr r3, _080541DC @ =gUnk_08001A1C - b _080541E6 - .align 2, 0 -_080541D0: .4byte gUnk_0800161C -_080541D4: .4byte gUnk_02034398 -_080541D8: .4byte gSave -_080541DC: .4byte gUnk_08001A1C -_080541E0: - lsls r1, r1, #5 - ldr r0, _080542BC @ =0x080014E4 - adds r3, r1, r0 -_080541E6: - mov r0, sp - adds r1, r4, #0 - bl sub_08000F14 - ldr r4, _080542C0 @ =gSave - adds r0, r4, #0 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #8 - bhi _08054204 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #8] - adds r0, #5 - strh r0, [r1, #8] -_08054204: - adds r0, r4, #0 - adds r0, #0xac - ldrb r0, [r0] - cmp r0, #0 - bne _08054218 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #0xc] - adds r0, #3 - strh r0, [r1, #0xc] -_08054218: - adds r0, r4, #0 - adds r0, #0xad - ldrb r0, [r0] - cmp r0, #0 - bne _0805422C - mov r1, sp - mov r0, sp - ldrh r0, [r0, #0xe] - adds r0, #3 - strh r0, [r1, #0xe] -_0805422C: - adds r0, r4, #0 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r0, #0xa - bhi _08054240 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #4] - adds r0, #1 - strh r0, [r1, #4] -_08054240: - ldr r2, _080542C4 @ =gUnk_08001A1C - adds r0, r4, #0 - adds r0, #0xbb - ldrb r0, [r0] - adds r3, r2, #0 - cmp r0, #0 - beq _08054250 - adds r2, #0x20 -_08054250: - movs r1, #0x8b - lsls r1, r1, #1 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _0805425E - adds r3, #0x40 -_0805425E: - mov r0, sp - mov r1, sp - bl sub_08000F2C - adds r4, r0, #0 - bl Random - adds r2, r0, #0 - asrs r5, r2, #0x18 - movs r0, #0xf - ands r5, r0 - adds r0, r2, #0 - adds r1, r4, #0 - bl __modsi3 - adds r2, r0, #0 - movs r3, #0 - lsls r0, r5, #1 - add r0, sp - movs r4, #0 - ldrsh r1, [r0, r4] - cmp r1, r2 - bgt _080542A6 - movs r4, #0xf -_0805428E: - adds r3, #1 - adds r5, #1 - ands r5, r4 - cmp r3, #0xf - bhi _080542A6 - lsls r0, r5, #1 - add r0, sp - movs r7, #0 - ldrsh r0, [r0, r7] - adds r1, r1, r0 - cmp r1, r2 - ble _0805428E -_080542A6: - ldr r0, _080542C8 @ =gUnk_080FE1B4 - adds r0, r5, r0 - ldrb r1, [r0] - cmp r1, #0 - beq _080542CC - adds r0, r6, #0 - movs r2, #0 - bl CreateItemDrop - b _080542CE - .align 2, 0 -_080542BC: .4byte 0x080014E4 -_080542C0: .4byte gSave -_080542C4: .4byte gUnk_08001A1C -_080542C8: .4byte gUnk_080FE1B4 -_080542CC: - movs r0, #0 -_080542CE: - add sp, #0x20 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - -.syntax divided diff --git a/asm/non_matching/eu/sub_08075338.inc b/asm/non_matching/eu/sub_08075338.inc deleted file mode 100644 index 384a2137..00000000 --- a/asm/non_matching/eu/sub_08075338.inc +++ /dev/null @@ -1,180 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r7, r1, #0 - ldr r4, _08074DA8 @ =gPlayerState - ldr r1, [r4, #0x30] - movs r3, #0x80 - adds r0, r1, #0 - ands r0, r3 - cmp r0, #0 - beq _08074DAC - ldrb r0, [r5, #9] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r5, #9] - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08077D38 - movs r0, #0xc0 - lsls r0, r0, #4 - strh r0, [r4, #8] - movs r0, #0x75 - bl SoundReq - b _08074EE2 - .align 2, 0 -_08074DA8: .4byte gPlayerState -_08074DAC: - ldrb r2, [r4, #2] - cmp r2, #0 - beq _08074E22 - movs r6, #7 - adds r0, r6, #0 - ands r0, r2 - cmp r0, #3 - beq _08074E18 - movs r0, #0x78 - ands r0, r2 - cmp r0, #0 - bne _08074E18 - ldr r3, _08074E10 @ =gPlayerEntity - ldr r1, [r3, #0x20] - ldr r0, _08074E14 @ =0x00017FFF - cmp r1, r0 - bhi _08074E18 - adds r0, r4, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08074E18 - ldr r0, [r3, #0x34] - cmp r0, #0 - beq _08074E18 - movs r0, #0x20 - orrs r0, r2 - strb r0, [r4, #2] - adds r0, r4, #0 - adds r0, #0xab - strb r6, [r0] - movs r0, #8 - asrs r0, r7 - lsls r1, r0, #4 - orrs r0, r1 - ldrb r1, [r4, #4] - orrs r0, r1 - strb r0, [r4, #4] - adds r0, r5, #0 - bl sub_08077B98 - movs r0, #6 - strb r0, [r5, #4] - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08075898 - b _08074EE2 - .align 2, 0 -_08074E10: .4byte gPlayerEntity -_08074E14: .4byte 0x00017FFF -_08074E18: - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_080759B8 - b _08074EE2 -_08074E22: - movs r6, #0x80 - lsls r6, r6, #0xb - ands r6, r1 - cmp r6, #0 - beq _08074EAE - adds r0, r4, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - cmp r6, #0 - bne _08074E4C - ldr r0, [r4, #0x2c] - cmp r0, #0 - beq _08074EE2 - bl DeleteEntity - str r6, [r4, #0x2c] - b _08074EE2 -_08074E4C: - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08077D38 - adds r0, r5, #0 - bl sub_08077B98 - movs r3, #8 - adds r1, r3, #0 - asrs r1, r7 - lsls r0, r1, #4 - orrs r0, r1 - ldrb r2, [r4, #4] - orrs r0, r2 - strb r0, [r4, #4] - ldrb r2, [r4, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r4, #0xa] - ldrb r0, [r4, #0xb] - orrs r1, r0 - strb r1, [r4, #0xb] - strb r3, [r5, #4] - movs r0, #0x14 - strb r0, [r5, #7] - movs r0, #6 - strb r0, [r5, #0xf] - ldrb r1, [r5, #9] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #9] - adds r1, r4, #0 - adds r1, #0xab - movs r0, #2 - strb r0, [r1] - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x14 - orrs r0, r1 - str r0, [r4, #0x30] - movs r1, #0x98 - lsls r1, r1, #1 - adds r0, r5, #0 - bl sub_08077DF4 - movs r0, #0x77 - bl SoundReq - b _08074EE2 -_08074EAE: - ldrb r1, [r4, #0x1b] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _08074EC0 - strb r6, [r4, #0x1b] - ldr r0, _08074EE4 @ =gPlayerEntity - bl sub_0806F948 -_08074EC0: - ldr r1, [r4, #0x2c] - cmp r1, #0 - beq _08074ED4 - ldrb r0, [r1, #9] - cmp r0, #1 - beq _08074ED4 - adds r0, r1, #0 - bl DeleteEntity - str r6, [r4, #0x2c] -_08074ED4: - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08077D38 - adds r0, r5, #0 - bl sub_08077B98 -_08074EE2: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08074EE4: .4byte gPlayerEntity - .syntax divided diff --git a/asm/non_matching/gleerok/sub_0802D33C.inc b/asm/non_matching/gleerok/sub_0802D33C.inc index 6921c763..9d5969e8 100644 --- a/asm/non_matching/gleerok/sub_0802D33C.inc +++ b/asm/non_matching/gleerok/sub_0802D33C.inc @@ -1,7 +1,4 @@ .syntax unified - - .text - push {r4, r5, r6, r7, lr} adds r0, #0x84 ldr r6, [r0] @@ -45,5 +42,4 @@ _0802D34A: strb r0, [r3, #0x18] bl DeleteThisEntity pop {r4, r5, r6, r7, pc} - .syntax divided diff --git a/asm/non_matching/gleerok/sub_0802D3B8.inc b/asm/non_matching/gleerok/sub_0802D3B8.inc index 8bc73c1e..ccc08049 100644 --- a/asm/non_matching/gleerok/sub_0802D3B8.inc +++ b/asm/non_matching/gleerok/sub_0802D3B8.inc @@ -1,8 +1,5 @@ .syntax unified - - .text - - push {r4, r5, r6, r7, lr} + push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} adds r4, r0, #0 @@ -323,6 +320,4 @@ _0802D648: pop {r3} mov r8, r3 pop {r4, r5, r6, r7, pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/gyorg_female/sub_08046518.inc b/asm/non_matching/gyorg_female/sub_08046518.inc index c3aa7649..b7515753 100644 --- a/asm/non_matching/gyorg_female/sub_08046518.inc +++ b/asm/non_matching/gyorg_female/sub_08046518.inc @@ -1,84 +1,85 @@ - push {r4, r5, r6, r7, lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x8 - ldr r1, _data0_0 - ldr r2, _data0_0+0x4 - add r0, r1, r2 - ldr r3, _data0_0+0x8 - add r2, r1, r3 - ldr r7, _data0_0+0xc - add r7, r1, r7 - str r7, [sp, #0x4] - ldr r3, _data0_0+0x10 - add r6, r1, r3 - mov r1, #0x10 -_code0_0: - mov r5, #0x10 - mov r7, #0x80 - add r7, r0 - mov r10, r7 - mov r3, r2 - add r3, #0x80 - str r3, [sp] - ldr r7, [sp, #0x4] - add r7, #0x40 - mov r8, r7 - mov r3, #0x40 - add r3, r6 - mov r9, r3 - sub r1, #0x1 - mov r12, r1 - mov r3, r0 - add r3, #0x20 - mov r4, r2 - add r4, #0x20 -_code0_1: - ldrh r0, [r3] - strh r0, [r4] - ldrh r0, [r3] - lsl r0, #0x1 - ldr r7, _data0_0 - add r0, r7 - ldrh r1, [r0] - ldr r0, [sp, #0x4] - add r2, r0, r5 - ldr r7, _data0_0+0x14 - add r0, r1, r7 - ldrb r0, [r0] - strb r0, [r2] - add r2, r6, r5 - ldr r0, _data0_0+0x18 - add r1, r0 - ldrb r0, [r1] - strb r0, [r2] - sub r3, #0x2 - sub r4, #0x2 - sub r5, #0x1 - cmp r5, #0x0 - bne _code0_1 - mov r0, r10 - ldr r2, [sp] - mov r1, r8 - str r1, [sp, #0x4] - mov r6, r9 - mov r1, r12 - cmp r1, #0x0 - bne _code0_0 - add sp, #0x8 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4, r5, r6, r7, pc} -.align 2, 0 -_data0_0: - .4byte gMetatileTypesTop - .4byte 0xffffbcb0 - .4byte 0xffffecb0 - .4byte 0x6658 - .4byte 0xffffd658 - .4byte gUnk_080B37A0 - .4byte gUnk_080B3E80 + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + ldr r1, _080465AC @ =gMetatileTypesTop + ldr r2, _080465B0 @ =0xFFFFBCB0 + adds r0, r1, r2 + ldr r3, _080465B4 @ =0xFFFFECB0 + adds r2, r1, r3 + ldr r7, _080465B8 @ =0x00006658 + adds r7, r1, r7 + str r7, [sp, #4] + ldr r3, _080465BC @ =0xFFFFD658 + adds r6, r1, r3 + movs r1, #0x10 +_0804653A: + movs r5, #0x10 + movs r7, #0x80 + adds r7, r7, r0 + mov sl, r7 + adds r3, r2, #0 + adds r3, #0x80 + str r3, [sp] + ldr r7, [sp, #4] + adds r7, #0x40 + mov r8, r7 + movs r3, #0x40 + adds r3, r3, r6 + mov sb, r3 + subs r1, #1 + mov ip, r1 + adds r3, r0, #0 + adds r3, #0x20 + adds r4, r2, #0 + adds r4, #0x20 +_08046560: + ldrh r0, [r3] + strh r0, [r4] + ldrh r0, [r3] + lsls r0, r0, #1 + ldr r7, _080465AC @ =gMetatileTypesTop + adds r0, r0, r7 + ldrh r1, [r0] + ldr r0, [sp, #4] + adds r2, r0, r5 + ldr r7, _080465C0 @ =gUnk_080B37A0 + adds r0, r1, r7 + ldrb r0, [r0] + strb r0, [r2] + adds r2, r6, r5 + ldr r0, _080465C4 @ =gUnk_080B3E80 + adds r1, r1, r0 + ldrb r0, [r1] + strb r0, [r2] + subs r3, #2 + subs r4, #2 + subs r5, #1 + cmp r5, #0 + bne _08046560 + mov r0, sl + ldr r2, [sp] + mov r1, r8 + str r1, [sp, #4] + mov r6, sb + mov r1, ip + cmp r1, #0 + bne _0804653A + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_080465AC: .4byte gMetatileTypesTop +_080465B0: .4byte 0xFFFFBCB0 +_080465B4: .4byte 0xFFFFECB0 +_080465B8: .4byte 0x00006658 +_080465BC: .4byte 0xFFFFD658 +_080465C0: .4byte gUnk_080B37A0 +_080465C4: .4byte gUnk_080B3E80 + .syntax divided diff --git a/asm/non_matching/itemSword/sub_08075338.inc b/asm/non_matching/itemSword/sub_08075338.inc index 426fdf26..ca9fa8fe 100644 --- a/asm/non_matching/itemSword/sub_08075338.inc +++ b/asm/non_matching/itemSword/sub_08075338.inc @@ -1,3 +1,185 @@ +.ifdef EU + .syntax unified + push {r4, r5, r6, r7, lr} + adds r5, r0, #0 + adds r7, r1, #0 + ldr r4, _08074DA8 @ =gPlayerState + ldr r1, [r4, #0x30] + movs r3, #0x80 + adds r0, r1, #0 + ands r0, r3 + cmp r0, #0 + beq _08074DAC + ldrb r0, [r5, #9] + movs r1, #0x80 + orrs r1, r0 + strb r1, [r5, #9] + adds r0, r5, #0 + adds r1, r7, #0 + bl sub_08077D38 + movs r0, #0xc0 + lsls r0, r0, #4 + strh r0, [r4, #8] + movs r0, #0x75 + bl SoundReq + b _08074EE2 + .align 2, 0 +_08074DA8: .4byte gPlayerState +_08074DAC: + ldrb r2, [r4, #2] + cmp r2, #0 + beq _08074E22 + movs r6, #7 + adds r0, r6, #0 + ands r0, r2 + cmp r0, #3 + beq _08074E18 + movs r0, #0x78 + ands r0, r2 + cmp r0, #0 + bne _08074E18 + ldr r3, _08074E10 @ =gPlayerEntity + ldr r1, [r3, #0x20] + ldr r0, _08074E14 @ =0x00017FFF + cmp r1, r0 + bhi _08074E18 + adds r0, r4, #0 + adds r0, #0xac + ldrh r1, [r0] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08074E18 + ldr r0, [r3, #0x34] + cmp r0, #0 + beq _08074E18 + movs r0, #0x20 + orrs r0, r2 + strb r0, [r4, #2] + adds r0, r4, #0 + adds r0, #0xab + strb r6, [r0] + movs r0, #8 + asrs r0, r7 + lsls r1, r0, #4 + orrs r0, r1 + ldrb r1, [r4, #4] + orrs r0, r1 + strb r0, [r4, #4] + adds r0, r5, #0 + bl sub_08077B98 + movs r0, #6 + strb r0, [r5, #4] + adds r0, r5, #0 + adds r1, r7, #0 + bl sub_08075898 + b _08074EE2 + .align 2, 0 +_08074E10: .4byte gPlayerEntity +_08074E14: .4byte 0x00017FFF +_08074E18: + adds r0, r5, #0 + adds r1, r7, #0 + bl sub_080759B8 + b _08074EE2 +_08074E22: + movs r6, #0x80 + lsls r6, r6, #0xb + ands r6, r1 + cmp r6, #0 + beq _08074EAE + adds r0, r4, #0 + adds r0, #0xac + ldrh r1, [r0] + movs r0, #2 + ands r0, r1 + lsls r0, r0, #0x10 + lsrs r6, r0, #0x10 + cmp r6, #0 + bne _08074E4C + ldr r0, [r4, #0x2c] + cmp r0, #0 + beq _08074EE2 + bl DeleteEntity + str r6, [r4, #0x2c] + b _08074EE2 +_08074E4C: + adds r0, r5, #0 + adds r1, r7, #0 + bl sub_08077D38 + adds r0, r5, #0 + bl sub_08077B98 + movs r3, #8 + adds r1, r3, #0 + asrs r1, r7 + lsls r0, r1, #4 + orrs r0, r1 + ldrb r2, [r4, #4] + orrs r0, r2 + strb r0, [r4, #4] + ldrb r2, [r4, #0xa] + adds r0, r1, #0 + orrs r0, r2 + strb r0, [r4, #0xa] + ldrb r0, [r4, #0xb] + orrs r1, r0 + strb r1, [r4, #0xb] + strb r3, [r5, #4] + movs r0, #0x14 + strb r0, [r5, #7] + movs r0, #6 + strb r0, [r5, #0xf] + ldrb r1, [r5, #9] + movs r0, #0x80 + orrs r0, r1 + strb r0, [r5, #9] + adds r1, r4, #0 + adds r1, #0xab + movs r0, #2 + strb r0, [r1] + ldr r0, [r4, #0x30] + movs r1, #0x80 + lsls r1, r1, #0x14 + orrs r0, r1 + str r0, [r4, #0x30] + movs r1, #0x98 + lsls r1, r1, #1 + adds r0, r5, #0 + bl sub_08077DF4 + movs r0, #0x77 + bl SoundReq + b _08074EE2 +_08074EAE: + ldrb r1, [r4, #0x1b] + adds r0, r3, #0 + ands r0, r1 + cmp r0, #0 + bne _08074EC0 + strb r6, [r4, #0x1b] + ldr r0, _08074EE4 @ =gPlayerEntity + bl sub_0806F948 +_08074EC0: + ldr r1, [r4, #0x2c] + cmp r1, #0 + beq _08074ED4 + ldrb r0, [r1, #9] + cmp r0, #1 + beq _08074ED4 + adds r0, r1, #0 + bl DeleteEntity + str r6, [r4, #0x2c] +_08074ED4: + adds r0, r5, #0 + adds r1, r7, #0 + bl sub_08077D38 + adds r0, r5, #0 + bl sub_08077B98 +_08074EE2: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08074EE4: .4byte gPlayerEntity + .syntax divided +.else .syntax unified push {r4, r5, r6, r7, lr} adds r5, r0, #0 @@ -184,3 +366,4 @@ _080754B4: pop {r4, r5, r6, r7, pc} .align 2, 0 .syntax divided +.endif \ No newline at end of file diff --git a/asm/non_matching/manager22/sub_0805BBBC.inc b/asm/non_matching/manager22/UpdateLightLevel.inc similarity index 100% rename from asm/non_matching/manager22/sub_0805BBBC.inc rename to asm/non_matching/manager22/UpdateLightLevel.inc diff --git a/asm/non_matching/player/sub_08074678.inc b/asm/non_matching/player/SurfaceAction_Swamp.inc similarity index 100% rename from asm/non_matching/player/sub_08074678.inc rename to asm/non_matching/player/SurfaceAction_Swamp.inc diff --git a/asm/non_matching/playerItem3/sub_0801B4C8.inc b/asm/non_matching/playerItem3/sub_0801B4C8.inc index f6973cbf..3752815f 100644 --- a/asm/non_matching/playerItem3/sub_0801B4C8.inc +++ b/asm/non_matching/playerItem3/sub_0801B4C8.inc @@ -1,3 +1,108 @@ +.ifdef EU + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + ldr r3, _0801B564 @ =gPlayerState + str r4, [r3, #0x2c] + movs r2, #0 + movs r0, #1 + strb r0, [r4, #0xc] + ldr r0, _0801B568 @ =gUnk_081271CC + str r0, [r4, #0x48] + movs r0, #0xff + strb r0, [r4, #0x1e] + adds r0, r4, #0 + adds r0, #0x80 + strb r2, [r0] + ldr r5, _0801B56C @ =gPlayerEntity + adds r0, r5, #0 + adds r0, #0x60 + ldrh r1, [r0] + adds r0, r4, #0 + adds r0, #0x60 + strh r1, [r0] + adds r1, r4, #0 + adds r1, #0x58 + movs r0, #0xb + strb r0, [r1] + str r5, [r4, #0x50] + adds r0, r4, #0 + adds r0, #0x86 + strh r2, [r0] + ldrb r1, [r4, #0x14] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0801B550 + ldrb r0, [r5, #0x18] + lsls r0, r0, #0x19 + lsrs r0, r0, #0x1f + movs r1, #1 + bics r1, r0 + lsls r1, r1, #6 + ldrb r2, [r4, #0x18] + movs r0, #0x41 + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, #0x18] +_0801B550: + adds r0, r4, #0 + adds r0, #0x68 + ldrb r0, [r0] + cmp r0, #0xc + bne _0801B570 + movs r0, #0xa0 + lsls r0, r0, #2 + strh r0, [r4, #0x24] + movs r0, #0x3c + b _0801B578 + .align 2, 0 +_0801B564: .4byte gPlayerState +_0801B568: .4byte gUnk_081271CC +_0801B56C: .4byte gPlayerEntity +_0801B570: + movs r0, #0x80 + lsls r0, r0, #2 + strh r0, [r4, #0x24] + movs r0, #0x1e +_0801B578: + strb r0, [r4, #0xe] + ldrb r1, [r3, #0xd] + movs r0, #0xd + ldrsb r0, [r3, r0] + cmp r0, #0 + blt _0801B588 + strb r1, [r4, #0x15] + b _0801B58E +_0801B588: + ldrb r0, [r4, #0x14] + lsls r0, r0, #2 + strb r0, [r4, #0x15] +_0801B58E: + ldrb r0, [r4, #0x15] + adds r1, r4, #0 + adds r1, #0x83 + strb r0, [r1] + adds r0, r4, #0 + adds r0, #0x38 + ldrb r0, [r0] + cmp r0, #2 + bne _0801B5A4 + movs r0, #1 + strb r0, [r4, #0xb] +_0801B5A4: + adds r0, r4, #0 + movs r1, #1 + movs r2, #3 + bl LoadSwapGFX + adds r0, r4, #0 + bl sub_0801766C + adds r0, r4, #0 + bl sub_0801B584 + pop {r4, r5, pc} + .syntax divided +.else .syntax unified push {r4, r5, lr} adds r4, r0, #0 @@ -95,3 +200,4 @@ _0801B56C: bl sub_0801B584 pop {r4, r5, pc} .syntax divided +.endif \ No newline at end of file diff --git a/asm/non_matching/sub_0804BF38.inc b/asm/non_matching/sub_0804BF38.inc index 0072ac3b..b79aaa4f 100644 --- a/asm/non_matching/sub_0804BF38.inc +++ b/asm/non_matching/sub_0804BF38.inc @@ -1,10 +1,4 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - .syntax unified - - .text - push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb diff --git a/asm/non_matching/sub_0805457C.inc b/asm/non_matching/sub_0805457C.inc index 3044a086..6af2e482 100644 --- a/asm/non_matching/sub_0805457C.inc +++ b/asm/non_matching/sub_0805457C.inc @@ -1,3 +1,212 @@ +.ifdef EU +.syntax unified + push {r4, r5, r6, r7, lr} + sub sp, #0x20 + adds r6, r0, #0 + adds r3, r1, #0 + ldr r0, _08054138 @ =gRoomVars + ldrb r0, [r0, #2] + cmp r0, #1 + bne _08054126 + b _080542CC +_08054126: + ldr r2, _0805413C @ =gUnk_08001A1C + movs r4, #0 + cmp r3, #0x18 + bhi _080541BC + lsls r0, r3, #2 + ldr r1, _08054140 @ =_08054144 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08054138: .4byte gRoomVars +_0805413C: .4byte gUnk_08001A1C +_08054140: .4byte _08054144 +_08054144: @ jump table + .4byte _080541BC @ case 0 + .4byte _080541A8 @ case 1 + .4byte _080541A8 @ case 2 + .4byte _080541A8 @ case 3 + .4byte _080541A8 @ case 4 + .4byte _080541A8 @ case 5 + .4byte _080541A8 @ case 6 + .4byte _080541A8 @ case 7 + .4byte _080541A8 @ case 8 + .4byte _080541A8 @ case 9 + .4byte _080541A8 @ case 10 + .4byte _080541A8 @ case 11 + .4byte _080541A8 @ case 12 + .4byte _080541BC @ case 13 + .4byte _080541BC @ case 14 + .4byte _080541BA @ case 15 + .4byte _080541B4 @ case 16 + .4byte _080541B4 @ case 17 + .4byte _080541B4 @ case 18 + .4byte _080541B4 @ case 19 + .4byte _080541B4 @ case 20 + .4byte _080541B4 @ case 21 + .4byte _080541B4 @ case 22 + .4byte _080541B4 @ case 23 + .4byte _080541B4 @ case 24 +_080541A8: + lsls r1, r3, #5 + ldr r0, _080541B0 @ =gUnk_0800137C + adds r4, r1, r0 + b _080541BC + .align 2, 0 +_080541B0: .4byte gUnk_0800137C +_080541B4: + lsls r1, r3, #5 + ldr r0, _080541D0 @ =gUnk_0800161C + adds r2, r1, r0 +_080541BA: + ldr r4, _080541D4 @ =gUnk_02034398 +_080541BC: + cmp r4, #0 + bne _080541C2 + b _080542CC +_080541C2: + ldr r0, _080541D8 @ =gSave + adds r0, #0xb3 + ldrb r1, [r0] + cmp r1, #0 + bne _080541E0 + ldr r3, _080541DC @ =gUnk_08001A1C + b _080541E6 + .align 2, 0 +_080541D0: .4byte gUnk_0800161C +_080541D4: .4byte gUnk_02034398 +_080541D8: .4byte gSave +_080541DC: .4byte gUnk_08001A1C +_080541E0: + lsls r1, r1, #5 + ldr r0, _080542BC @ =0x080014E4 + adds r3, r1, r0 +_080541E6: + mov r0, sp + adds r1, r4, #0 + bl sub_08000F14 + ldr r4, _080542C0 @ =gSave + adds r0, r4, #0 + adds r0, #0xaa + ldrb r0, [r0] + cmp r0, #8 + bhi _08054204 + mov r1, sp + mov r0, sp + ldrh r0, [r0, #8] + adds r0, #5 + strh r0, [r1, #8] +_08054204: + adds r0, r4, #0 + adds r0, #0xac + ldrb r0, [r0] + cmp r0, #0 + bne _08054218 + mov r1, sp + mov r0, sp + ldrh r0, [r0, #0xc] + adds r0, #3 + strh r0, [r1, #0xc] +_08054218: + adds r0, r4, #0 + adds r0, #0xad + ldrb r0, [r0] + cmp r0, #0 + bne _0805422C + mov r1, sp + mov r0, sp + ldrh r0, [r0, #0xe] + adds r0, #3 + strh r0, [r1, #0xe] +_0805422C: + adds r0, r4, #0 + adds r0, #0xc0 + ldrh r0, [r0] + cmp r0, #0xa + bhi _08054240 + mov r1, sp + mov r0, sp + ldrh r0, [r0, #4] + adds r0, #1 + strh r0, [r1, #4] +_08054240: + ldr r2, _080542C4 @ =gUnk_08001A1C + adds r0, r4, #0 + adds r0, #0xbb + ldrb r0, [r0] + adds r3, r2, #0 + cmp r0, #0 + beq _08054250 + adds r2, #0x20 +_08054250: + movs r1, #0x8b + lsls r1, r1, #1 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, #0 + beq _0805425E + adds r3, #0x40 +_0805425E: + mov r0, sp + mov r1, sp + bl sub_08000F2C + adds r4, r0, #0 + bl Random + adds r2, r0, #0 + asrs r5, r2, #0x18 + movs r0, #0xf + ands r5, r0 + adds r0, r2, #0 + adds r1, r4, #0 + bl __modsi3 + adds r2, r0, #0 + movs r3, #0 + lsls r0, r5, #1 + add r0, sp + movs r4, #0 + ldrsh r1, [r0, r4] + cmp r1, r2 + bgt _080542A6 + movs r4, #0xf +_0805428E: + adds r3, #1 + adds r5, #1 + ands r5, r4 + cmp r3, #0xf + bhi _080542A6 + lsls r0, r5, #1 + add r0, sp + movs r7, #0 + ldrsh r0, [r0, r7] + adds r1, r1, r0 + cmp r1, r2 + ble _0805428E +_080542A6: + ldr r0, _080542C8 @ =gUnk_080FE1B4 + adds r0, r5, r0 + ldrb r1, [r0] + cmp r1, #0 + beq _080542CC + adds r0, r6, #0 + movs r2, #0 + bl CreateItemDrop + b _080542CE + .align 2, 0 +_080542BC: .4byte 0x080014E4 +_080542C0: .4byte gSave +_080542C4: .4byte gUnk_08001A1C +_080542C8: .4byte gUnk_080FE1B4 +_080542CC: + movs r0, #0 +_080542CE: + add sp, #0x20 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + +.syntax divided +.else .syntax unified push {r4, r5, r6, r7, lr} sub sp, #0x20 @@ -216,3 +425,4 @@ _0805474E: .align 2, 0 .syntax divided +.endif diff --git a/asm/non_matching/sub_08077D38.inc b/asm/non_matching/sub_08077D38.inc index d29e1376..22bc3b3b 100644 --- a/asm/non_matching/sub_08077D38.inc +++ b/asm/non_matching/sub_08077D38.inc @@ -1,11 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} diff --git a/asm/non_matching/wallMaster2/sub_0802CF8C.inc b/asm/non_matching/wallMaster2/sub_0802CF8C.inc index ad973e54..6f2147b1 100644 --- a/asm/non_matching/wallMaster2/sub_0802CF8C.inc +++ b/asm/non_matching/wallMaster2/sub_0802CF8C.inc @@ -1,11 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - push {r4, lr} adds r3, r0, #0 ldrb r1, [r3, #0x15] diff --git a/src/code_0805436C.c b/src/code_0805436C.c index 2cb38c6e..8691f00e 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -171,11 +171,7 @@ void sub_08054570(void) { gRoomVars.field_0x2 = 0; } -#ifdef EU -ASM_FUNC("asm/non_matching/eu/sub_0805457C.inc", u32 sub_0805457C(u32 arg0, u32 arg1)); -#else ASM_FUNC("asm/non_matching/sub_0805457C.inc", u32 sub_0805457C(u32 arg0, u32 arg1)); -#endif u32 CreateItemDrop(Entity* arg0, u32 itemID, u32 itemParameter) { u32 prereqID; diff --git a/src/item/itemSword.c b/src/item/itemSword.c index 2c888629..25c904ca 100644 --- a/src/item/itemSword.c +++ b/src/item/itemSword.c @@ -16,11 +16,7 @@ void ItemSword(ItemBehavior* this, u32 arg1) { gUnk_0811BD44[this->stateID](this, arg1); } -#ifdef EU -ASM_FUNC("asm/non_matching/eu/sub_08075338.inc", void sub_08075338(ItemBehavior* this, u32 arg1)) -#else ASM_FUNC("asm/non_matching/itemSword/sub_08075338.inc", void sub_08075338(ItemBehavior* this, u32 arg1)) -#endif ASM_FUNC("asm/non_matching/itemSword/sub_080754B8.inc", void sub_080754B8(ItemBehavior* this, u32 arg1)) diff --git a/src/manager/manager22.c b/src/manager/manager22.c index b06295e2..5faa1a2c 100644 --- a/src/manager/manager22.c +++ b/src/manager/manager22.c @@ -11,7 +11,7 @@ ASM_FUNC("asm/non_matching/manager22/sub_0805BB00.inc", void sub_0805BB00()) ASM_FUNC("asm/non_matching/manager22/sub_0805BB74.inc", void sub_0805BB74()) -ASM_FUNC("asm/non_matching/manager22/sub_0805BBBC.inc", void UpdateLightLevel()) +ASM_FUNC("asm/non_matching/manager22/UpdateLightLevel.inc", void UpdateLightLevel()) ASM_FUNC("asm/non_matching/manager22/sub_0805BC04.inc", void sub_0805BC04()) diff --git a/src/message.c b/src/message.c index 3d719fba..4136fb06 100644 --- a/src/message.c +++ b/src/message.c @@ -502,7 +502,7 @@ const u8 gUnk_08107C0F[] = { 0x8, 0x1e, 0x4, 0x12, 0x0 }; const u8 gUnk_08107C14[] = { 0x8, 0x1e, 0x8, 0xFE, 0x0 }; #ifdef EU -ASM_FUNC("asm/non_matching/eu/TextBoxHandlerQuestion.inc", static void TextDispEnquiry(TextRender* ctb)) +ASM_FUNC("asm/non_matching/eu/TextDispEnquiry.inc", static void TextDispEnquiry(TextRender* ctb)) #else static void TextDispEnquiry(TextRender* this) { diff --git a/src/object/pressurePlate.c b/src/object/pressurePlate.c index 891616ca..bef003fe 100644 --- a/src/object/pressurePlate.c +++ b/src/object/pressurePlate.c @@ -96,7 +96,7 @@ void sub_080888F4(PressurePlateEntity* this) { } } -static u32 NONMATCH("asm/non_matching/pressurePlate/sub_08088938.inc", sub_08088938(PressurePlateEntity* this)) { +static NONMATCH("asm/non_matching/pressurePlate/sub_08088938.inc", u32 sub_08088938(PressurePlateEntity* this)) { u16 x, y; s32 num; u8* tmp; diff --git a/src/player.c b/src/player.c index f1bb7fd4..663a87ed 100644 --- a/src/player.c +++ b/src/player.c @@ -3513,7 +3513,7 @@ void SurfaceAction_SlopeGndWater(Entity* this) { } } -ASM_FUNC("asm/non_matching/player/sub_08074678.inc", void SurfaceAction_Swamp(Entity* this)); +ASM_FUNC("asm/non_matching/player/SurfaceAction_Swamp.inc", void SurfaceAction_Swamp(Entity* this)); void SurfaceAction_Water(Entity* this) { if (!sub_080741C4()) { diff --git a/src/playerItem/playerItem3.c b/src/playerItem/playerItem3.c index beaf69a0..e8b76de0 100644 --- a/src/playerItem/playerItem3.c +++ b/src/playerItem/playerItem3.c @@ -27,11 +27,7 @@ void PlayerItem3(Entity* this) { } } -#ifdef EU -ASM_FUNC("asm/non_matching/eu/sub_0801B4C8.inc", void sub_0801B4C8(Entity* this)) -#else ASM_FUNC("asm/non_matching/playerItem3/sub_0801B4C8.inc", void sub_0801B4C8(Entity* this)) -#endif ASM_FUNC("asm/non_matching/playerItem3/sub_0801B584.inc", void sub_0801B584(Entity* this))