From 86eae33e326fbe7b15f760cffbe23fed50963933 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 10:23:49 +0200 Subject: [PATCH 1/7] manager2: Deleted unused nonmatching --- asm/non_matching/manager2/sub_080575C8.inc | 90 ---------------------- 1 file changed, 90 deletions(-) delete mode 100644 asm/non_matching/manager2/sub_080575C8.inc diff --git a/asm/non_matching/manager2/sub_080575C8.inc b/asm/non_matching/manager2/sub_080575C8.inc deleted file mode 100644 index ed601e15..00000000 --- a/asm/non_matching/manager2/sub_080575C8.inc +++ /dev/null @@ -1,90 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _08057664 @ =gUnk_0200B650 - movs r5, #0 - str r5, [r0] - movs r0, #0x80 - lsls r0, r0, #0x13 - strh r5, [r0] - adds r0, r4, #0 - bl LoadGfxGroup - ldr r0, _08057668 @ =gRoomVars - strb r4, [r0, #0x10] - ldr r3, _0805766C @ =gRoomControls - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #3 - adds r1, r1, r0 - ldr r2, _08057670 @ =gScreen - movs r7, #0x3f - adds r0, r1, #0 - ands r0, r7 - strh r0, [r2, #0x30] - strh r5, [r2, #0x2e] - adds r0, r1, #0 - cmp r1, #0 - bge _08057604 - adds r0, #0x3f -_08057604: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r4, _08057674 @ =gMapDataTopSpecial - adds r0, r0, r4 - str r0, [r2, #0x34] - ldr r0, _08057678 @ =0x00001D49 - strh r0, [r2, #0x2c] - movs r6, #1 - strh r6, [r2, #0x32] - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #2 - adds r1, r1, r0 - adds r0, r1, #0 - ands r0, r7 - strh r0, [r2, #0x18] - strh r5, [r2, #0x16] - adds r0, r1, #0 - cmp r0, #0 - bge _08057632 - adds r0, #0x3f -_08057632: - asrs r0, r0, #6 - lsls r0, r0, #9 - movs r3, #0x80 - lsls r3, r3, #6 - adds r1, r4, r3 - adds r0, r0, r1 - str r0, [r2, #0x1c] - ldr r0, _0805767C @ =0x00001E49 - strh r0, [r2, #0x14] - strh r6, [r2, #0x1a] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _08057680 @ =0x00003C48 - strh r0, [r1] - adds r1, #2 - ldr r0, _08057684 @ =0x00000609 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0xa0 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057664: .4byte gUnk_0200B650 -_08057668: .4byte gRoomVars -_0805766C: .4byte gRoomControls -_08057670: .4byte gScreen -_08057674: .4byte gMapDataTopSpecial -_08057678: .4byte 0x00001D49 -_0805767C: .4byte 0x00001E49 -_08057680: .4byte 0x00003C48 -_08057684: .4byte 0x00000609 - .syntax divided From 81c8e7622f5f5f16b111aa31e20e956cdc7c6c41 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 10:24:28 +0200 Subject: [PATCH 2/7] manager4: matched sub_0805795C --- asm/non_matching/manager4/sub_0805795C.inc | 94 ---------------------- src/manager/manager4.c | 32 +++----- 2 files changed, 13 insertions(+), 113 deletions(-) delete mode 100644 asm/non_matching/manager4/sub_0805795C.inc diff --git a/asm/non_matching/manager4/sub_0805795C.inc b/asm/non_matching/manager4/sub_0805795C.inc deleted file mode 100644 index a74f41ed..00000000 --- a/asm/non_matching/manager4/sub_0805795C.inc +++ /dev/null @@ -1,94 +0,0 @@ - push {r4, r5, r6, r7, lr} - add r7, r0, #0 - add r6, r1, #0 - ldr r0, _080579BC @ =gUnk_03004030 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _080579C8 - ldr r1, _080579C0 @ =gPlayerEntity - ldr r3, _080579C4 @ =gRoomControls - ldrh r2, [r1, #0x2e] - ldrh r0, [r3, #6] - sub r2, r2, r0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - ldrh r0, [r1, #0x32] - ldrh r1, [r3, #8] - sub r0, r0, r1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldrh r3, [r6] - mov r1, #0x3f - and r1, r3 - lsl r1, r1, #4 - add r1, #8 - mov r0, #0xfc - lsl r0, r0, #4 - and r0, r3 - lsl r0, r0, #0xe - mov r3, #0xc0 - lsl r3, r3, #0xd - add r0, r0, r3 - lsr r3, r0, #0x10 - sub r2, r2, r1 - add r0, r2, #0 - add r0, #0x18 - cmp r0, #0x30 - bhi _08057A14 - sub r0, r4, r3 - add r0, #8 - cmp r0, #0x10 - bhi _08057A14 - cmp r4, r3 - bhs _08057A00 - add r0, r2, #0 - add r0, #0xc - cmp r0, #0x18 - bls _08057A14 - b _08057A00 - .align 2, 0 -_080579BC: .4byte gUnk_03004030 -_080579C0: .4byte gPlayerEntity -_080579C4: .4byte gRoomControls -_080579C8: - ldr r3, _08057A0C @ =gPlayerEntity - mov r1, #0x2e - ldrsh r0, [r3, r1] - ldr r2, _08057A10 @ =gRoomControls - ldrh r1, [r2, #6] - sub r0, r0, r1 - asr r4, r0, #4 - mov r1, #0x3f - and r4, r1 - mov r0, #0x32 - ldrsh r5, [r3, r0] - ldrh r2, [r2, #8] - sub r0, r5, r2 - asr r0, r0, #4 - and r0, r1 - lsl r0, r0, #6 - orr r4, r0 - ldrh r1, [r6] - cmp r4, r1 - bne _08057A14 - lsr r0, r4, #6 - lsl r0, r0, #4 - add r0, r2, r0 - add r0, #6 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - cmp r5, r3 - bge _08057A14 -_08057A00: - add r0, r7, #0 - add r1, r6, #0 - bl sub_08057A18 - mov r0, #1 - b _08057A16 - .align 2, 0 -_08057A0C: .4byte gPlayerEntity -_08057A10: .4byte gRoomControls -_08057A14: - mov r0, #0 -_08057A16: - pop {r4, r5, r6, r7, pc} diff --git a/src/manager/manager4.c b/src/manager/manager4.c index 970c544f..50c497b5 100644 --- a/src/manager/manager4.c +++ b/src/manager/manager4.c @@ -62,37 +62,31 @@ void sub_08057920(Manager* this) { void sub_08057A18(Manager*, DiggingCaveEntrance*); -NONMATCH("asm/non_matching/manager4/sub_0805795C.inc", u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr)) { +u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { u16 offsetX, offsetY, offsetX2, offsetY2; - u32 tmp; - if (gUnk_03004030.unk_00) { // TODO .address_width (?) + u32 tmp, tmp2; + if (gUnk_03004030.unk_08) { offsetX = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; offsetY = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; offsetX2 = (entr->unk_00 & 0x3F) * 16 + 8; offsetY2 = ((entr->unk_00 & 0xFC0) >> 6) * 16 + 0x18; - if ((u32)(offsetX - offsetX2) + 0x18 > 0x30) + tmp = offsetX - offsetX2; + if (tmp + 0x18 > 0x30 || offsetY - offsetY2 + 8 > 0x10U) return 0; - if ((u32)(offsetY - offsetY2) + 8 > 0x10) + if (offsetY < offsetY2 && tmp + 0xC <= 0x18) return 0; - if (((offsetY < offsetY2))) - if ((u32)(offsetX - offsetX2) + 0xC <= 0x18) - return 0; - + sub_08057A18(this, entr); + return 1; } else { - // offsetX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F; - // offsetY = ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F; - // tmp = offsetX | (offsetY << 6); - tmp = COORD_TO_TILE((&gPlayerEntity)); - if (tmp != entr->unk_00) + if (COORD_TO_TILE(&gPlayerEntity) != entr->unk_00) return 0; - offsetY = gRoomControls.roomOriginY + ((tmp >> 6) * 16) + 6; - if (gPlayerEntity.y.HALF.HI >= offsetY) + offsetY2 = gRoomControls.roomOriginY + ((entr->unk_00 >> 6) << 4) + 6; + if (gPlayerEntity.y.HALF.HI >= offsetY2) return 0; + sub_08057A18(this, entr); + return 1; } - sub_08057A18(this, entr); - return 1; } -END_NONMATCH extern void sub_08080930(); From f1447af6f8ff32c32a3889075ed1b101ed630e0c Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 10:28:12 +0200 Subject: [PATCH 3/7] managerF: delete unused nonmatchings --- asm/non_matching/managerF/sub_08058EE4.inc | 45 ----------- asm/non_matching/managerF/sub_08058FB0.inc | 91 ---------------------- asm/non_matching/managerF/sub_08059124.inc | 80 ------------------- asm/non_matching/managerF/sub_080591CC.inc | 44 ----------- asm/non_matching/managerF/sub_08059220.inc | 46 ----------- asm/non_matching/managerF/sub_080593CC.inc | 45 ----------- asm/non_matching/managerF/sub_0805947C.inc | 44 ----------- asm/non_matching/managerF/sub_080594DC.inc | 51 ------------ asm/non_matching/managerF/sub_08059548.inc | 43 ---------- 9 files changed, 489 deletions(-) delete mode 100644 asm/non_matching/managerF/sub_08058EE4.inc delete mode 100644 asm/non_matching/managerF/sub_08058FB0.inc delete mode 100644 asm/non_matching/managerF/sub_08059124.inc delete mode 100644 asm/non_matching/managerF/sub_080591CC.inc delete mode 100644 asm/non_matching/managerF/sub_08059220.inc delete mode 100644 asm/non_matching/managerF/sub_080593CC.inc delete mode 100644 asm/non_matching/managerF/sub_0805947C.inc delete mode 100644 asm/non_matching/managerF/sub_080594DC.inc delete mode 100644 asm/non_matching/managerF/sub_08059548.inc diff --git a/asm/non_matching/managerF/sub_08058EE4.inc b/asm/non_matching/managerF/sub_08058EE4.inc deleted file mode 100644 index 0cea43d5..00000000 --- a/asm/non_matching/managerF/sub_08058EE4.inc +++ /dev/null @@ -1,45 +0,0 @@ - .syntax unified - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #0 - bne _08058EF2 - movs r0, #1 - strb r0, [r6, #0xc] -_08058EF2: - ldrb r0, [r6, #0xb] - bl CheckRoomFlag - cmp r0, #0 - beq _08058F40 - movs r5, #0x94 - lsls r5, r5, #1 - ldrb r2, [r6, #0xb] - adds r2, #1 - adds r0, r5, #0 - movs r1, #0x68 - bl sub_08058F44 - movs r4, #0xac - lsls r4, r4, #1 - ldrb r2, [r6, #0xb] - adds r2, #2 - adds r0, r4, #0 - movs r1, #0x68 - bl sub_08058F44 - ldrb r2, [r6, #0xb] - adds r2, #3 - adds r0, r5, #0 - movs r1, #0x98 - bl sub_08058F44 - ldrb r2, [r6, #0xb] - adds r2, #4 - adds r0, r4, #0 - movs r1, #0x98 - bl sub_08058F44 - movs r0, #0x92 - lsls r0, r0, #1 - bl SoundReq - bl DeleteThisEntity -_08058F40: - pop {r4, r5, r6, pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_08058FB0.inc b/asm/non_matching/managerF/sub_08058FB0.inc deleted file mode 100644 index 5e748b8b..00000000 --- a/asm/non_matching/managerF/sub_08058FB0.inc +++ /dev/null @@ -1,91 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08058FF6 - cmp r0, #1 - bgt _08058FC4 - cmp r0, #0 - beq _08058FCA - b _08059050 -_08058FC4: - cmp r0, #2 - beq _08059018 - b _08059050 -_08058FCA: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08058FDC - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #6 - b _08058FE2 -_08058FDC: - movs r0, #8 - strb r0, [r4, #0xd] - movs r0, #2 -_08058FE2: - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059060 - adds r0, r4, #0 - bl DeleteManager - b _08059060 -_08058FF6: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059060 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0xf0 - bl sub_0805E4E0 - adds r0, r4, #0 - bl sub_08059064 - b _08059060 -_08059018: - ldrb r0, [r4, #0xe] - cmp r0, #0x5a - bne _08059028 - movs r0, #2 - bl sub_08078A90 - bl sub_08077B20 -_08059028: - ldrb r2, [r4, #0xe] - cmp r2, #0x3c - bne _08059034 - ldr r1, _0805904C @ =gPlayerEntity - ldrb r0, [r4, #0xf] - strb r0, [r1, #0x14] -_08059034: - subs r0, r2, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08059060 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xd] - movs r0, #5 - bl MenuFadeIn - b _08059060 - .align 2, 0 -_0805904C: .4byte gPlayerEntity -_08059050: - ldrh r0, [r4, #0x3e] - bl SetFlag - movs r0, #1 - bl sub_08078A90 - bl DeleteThisEntity -_08059060: - pop {r4, pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059124.inc b/asm/non_matching/managerF/sub_08059124.inc deleted file mode 100644 index afd30258..00000000 --- a/asm/non_matching/managerF/sub_08059124.inc +++ /dev/null @@ -1,80 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08059174 - cmp r0, #1 - beq _080591AC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080591C8 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrb r2, [r4, #0xb] - bl CreateDustAt - ldrh r0, [r4, #0x38] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r4, #0x3a] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - ldrb r1, [r4, #0xb] - bl sub_0807BA8C - movs r0, #0xcd - bl SoundReq - bl DeleteThisEntity - b _080591C8 -_08059174: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059182 - bl DeleteThisEntity -_08059182: - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080591A8 @ =0x00000365 - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r4, #0x3a] - lsls r2, r2, #0x10 - asrs r2, r2, #0x14 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r4, #0xb] - bl SetTileType - b _080591C8 - .align 2, 0 -_080591A8: .4byte 0x00000365 -_080591AC: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _080591C8 - adds r0, r4, #0 - movs r1, #0x4b - bl sub_0805E4E0 - movs r0, #0x2d - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_080591C8: - pop {r4, pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_080591CC.inc b/asm/non_matching/managerF/sub_080591CC.inc deleted file mode 100644 index 37753968..00000000 --- a/asm/non_matching/managerF/sub_080591CC.inc +++ /dev/null @@ -1,44 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080591F4 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl CheckFlags - strb r0, [r4, #0xb] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08059214 - ldr r1, _080591F0 @ =gRoomVars - ldrh r0, [r4, #0x3a] - b _08059218 - .align 2, 0 -_080591F0: .4byte gRoomVars -_080591F4: - ldrh r0, [r4, #0x3e] - bl CheckFlags - adds r1, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, r1 - beq _0805921A - strb r1, [r4, #0xb] - cmp r1, #0 - beq _08059214 - ldr r1, _08059210 @ =gRoomVars - ldrh r0, [r4, #0x3a] - b _08059218 - .align 2, 0 -_08059210: .4byte gRoomVars -_08059214: - ldr r1, _0805921C @ =gRoomVars - ldrh r0, [r4, #0x38] -_08059218: - strh r0, [r1, #0xc] -_0805921A: - pop {r4, pc} - .align 2, 0 -_0805921C: .4byte gRoomVars - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059220.inc b/asm/non_matching/managerF/sub_08059220.inc deleted file mode 100644 index 2538d3a3..00000000 --- a/asm/non_matching/managerF/sub_08059220.inc +++ /dev/null @@ -1,46 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r2, _08059268 @ =gRoomVars - movs r0, #0 - strh r0, [r2, #0xc] - ldr r4, _0805926C @ =gUnk_08108354 - ldrh r0, [r4] - ldr r1, _08059270 @ =0x0000FFFF - cmp r0, r1 - beq _08059254 - adds r7, r2, #0 - adds r6, r1, #0 -_08059238: - ldrh r0, [r4] - ldrh r1, [r4, #2] - ldrh r2, [r4, #4] - ldrh r3, [r4, #6] - bl CheckPlayerInRegion - cmp r0, #0 - beq _0805924C - ldrh r0, [r4, #8] - strh r0, [r7, #0xc] -_0805924C: - adds r4, #0xa - ldrh r0, [r4] - cmp r0, r6 - bne _08059238 -_08059254: - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08059266 - movs r0, #1 - strb r0, [r5, #0xc] - ldr r1, _08059274 @ =gArea - ldr r0, _08059268 @ =gRoomVars - ldrh r0, [r0, #0xc] - strh r0, [r1, #0xa] -_08059266: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08059268: .4byte gRoomVars -_0805926C: .4byte gUnk_08108354 -_08059270: .4byte 0x0000FFFF -_08059274: .4byte gArea - .syntax divided diff --git a/asm/non_matching/managerF/sub_080593CC.inc b/asm/non_matching/managerF/sub_080593CC.inc deleted file mode 100644 index f8da8864..00000000 --- a/asm/non_matching/managerF/sub_080593CC.inc +++ /dev/null @@ -1,45 +0,0 @@ - .syntax unified - push {r4, lr} - adds r3, r0, #0 - ldr r2, _08059418 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08059420 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08059420 - ldr r4, _0805941C @ =gPlayerEntity - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08059420 - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - movs r1, #0x80 - lsls r1, r1, #3 - cmp r0, r1 - bne _08059420 - movs r0, #0x38 - ldrsh r1, [r3, r0] - movs r0, #0x3a - ldrsh r2, [r3, r0] - adds r2, #0xc - adds r0, r4, #0 - movs r3, #6 - bl sub_0806FCB8 - b _08059422 - .align 2, 0 -_08059418: .4byte gPlayerState -_0805941C: .4byte gPlayerEntity -_08059420: - movs r0, #0 -_08059422: - pop {r4, pc} - .syntax divided diff --git a/asm/non_matching/managerF/sub_0805947C.inc b/asm/non_matching/managerF/sub_0805947C.inc deleted file mode 100644 index 3f061bc2..00000000 --- a/asm/non_matching/managerF/sub_0805947C.inc +++ /dev/null @@ -1,44 +0,0 @@ - .syntax unified - push {lr} - ldrh r0, [r0, #0x3e] - bl CheckFlags - cmp r0, #0 - bne _080594CE - movs r0, #3 - bl sub_08078A90 - ldr r1, _080594B0 @ =gRoomControls - ldrh r0, [r1] - cmp r0, #0 - bne _080594D2 - ldr r0, _080594B4 @ =gRoomVars - ldrb r0, [r0] - cmp r0, #0 - beq _080594BC - ldr r0, _080594B8 @ =gUnk_08108380 - ldrb r1, [r1, #0x10] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - bl StartPlayerScript - b _080594CE - .align 2, 0 -_080594B0: .4byte gRoomControls -_080594B4: .4byte gRoomVars -_080594B8: .4byte gUnk_08108380 -_080594BC: - ldr r1, _080594D4 @ =gUnk_08108380 - ldr r0, _080594D8 @ =gPlayerEntity - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl StartPlayerScript -_080594CE: - bl DeleteThisEntity -_080594D2: - pop {pc} - .align 2, 0 -_080594D4: .4byte gUnk_08108380 -_080594D8: .4byte gPlayerEntity - .syntax divided diff --git a/asm/non_matching/managerF/sub_080594DC.inc b/asm/non_matching/managerF/sub_080594DC.inc deleted file mode 100644 index 0733df2a..00000000 --- a/asm/non_matching/managerF/sub_080594DC.inc +++ /dev/null @@ -1,51 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080594F2 - cmp r0, #1 - bgt _0805951C - cmp r0, #0 - bne _0805951C - movs r0, #1 - strb r0, [r4, #0xc] -_080594F2: - movs r0, #6 - bl GetInventoryValue - cmp r0, #0 - beq _08059540 - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x85 - bl CheckLocalFlagByOffset - cmp r0, #0 - bne _08059540 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r0, _08059518 @ =0x00000B0F - bl sub_080186C0 - b _08059540 - .align 2, 0 -_08059518: .4byte 0x00000B0F -_0805951C: - ldr r0, _08059544 @ =gArea - adds r0, #0x28 - ldrb r0, [r0] - cmp r0, #0xff - beq _0805952A - bl DeleteThisEntity -_0805952A: - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x85 - bl CheckLocalFlagByOffset - cmp r0, #0 - beq _08059540 - bl sub_0801855C - bl DeleteThisEntity -_08059540: - pop {r4, pc} - .align 2, 0 -_08059544: .4byte gArea - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059548.inc b/asm/non_matching/managerF/sub_08059548.inc deleted file mode 100644 index a324756b..00000000 --- a/asm/non_matching/managerF/sub_08059548.inc +++ /dev/null @@ -1,43 +0,0 @@ - .syntax unified -.ifdef USA - push {lr} - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _08059568 @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #0x16 - bne _0805955C - bl DeleteThisEntity -_0805955C: - ldr r2, _0805956C @ =gInput - ldrh r1, [r2] - movs r0, #4 - orrs r0, r1 - strh r0, [r2] - pop {pc} - .align 2, 0 -_08059568: .4byte gPlayerEntity -_0805956C: .4byte gInput -.else -.ifdef DEMO @ TODO deduplicate - push {lr} - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _08059568 @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #0x16 - bne _0805955C - bl DeleteThisEntity -_0805955C: - ldr r2, _0805956C @ =gInput - ldrh r1, [r2] - movs r0, #4 - orrs r0, r1 - strh r0, [r2] - pop {pc} - .align 2, 0 -_08059568: .4byte gPlayerEntity -_0805956C: .4byte gInput -.endif -.endif - .syntax divided From 8be102db29c38066145b4cf70a357bda5860dfae Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 10:38:33 +0200 Subject: [PATCH 4/7] managerC: matched sub_08058D34 --- asm/non_matching/managerC/sub_08058D34.inc | 65 ---------------------- src/manager/managerC.c | 10 ++-- 2 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 asm/non_matching/managerC/sub_08058D34.inc diff --git a/asm/non_matching/managerC/sub_08058D34.inc b/asm/non_matching/managerC/sub_08058D34.inc deleted file mode 100644 index dbbcd9e7..00000000 --- a/asm/non_matching/managerC/sub_08058D34.inc +++ /dev/null @@ -1,65 +0,0 @@ - push {r4, lr} - mov r0, #0x28 - bl LoadPaletteGroup - ldr r0, _08058DAC @ =gUnk_02017700 - mov r2, #0x90 - lsl r2, r2, #0x2 - add r1, r0, r2 - mov r2, #0x20 - bl MemCopy - ldr r2, _08058DB0 @ =gUsedPalettes - ldr r0, [r2] - mov r1, #0x80 - lsl r1, r1, #0xe - orr r0, r0, r1 - str r0, [r2] - mov r0, #0x16 - bl LoadGfxGroup - ldr r1, _08058DB4 @ =gScreen - ldrh r0, [r1] - mov r3, #0 - mov r2, #0x1 - mov r4, #0 - orr r0, r0, r2 - strh r0, [r1] - ldr r0, _08058DB8 @ =0x0000BC82 - strh r0, [r1, #0x20] - ldr r0, _08058DBC @ =0x00005E86 - strh r0, [r1, #0x14] - strh r3, [r1, #0x16] - strh r3, [r1, #0x18] - add r2, r1, #0 - add r2, r2, #0x66 - ldr r0, _08058DC0 @ =0x00003456 - strh r0, [r2] - add r1, r1, #0x68 - ldr r0, _08058DC4 @ =0x00000909 - strh r0, [r1] - ldr r0, _08058DC8 @ =gArea - mov r2, #0x86 - lsl r2, r2, #0x4 - add r1, r0, r2 - add r2, r2, #0x4 - add r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08058DCC @ =gUnk_02000070 - strb r4, [r0] - mov r0, #0x17 - bl CheckGlobalFlag - cmp r0, #0 - beq _08058DA8 - mov r0, #0x4a - bl LoadGfxGroup -_08058DA8: - pop {r4, pc} -.align 2,0 -_08058DAC: .4byte gUnk_02017700 -_08058DB0: .4byte gUsedPalettes -_08058DB4: .4byte gScreen -_08058DB8: .4byte 0x0000BC82 -_08058DBC: .4byte 0x00005E86 -_08058DC0: .4byte 0x00003456 -_08058DC4: .4byte 0x00000909 -_08058DC8: .4byte gArea -_08058DCC: .4byte gUnk_02000070 diff --git a/src/manager/managerC.c b/src/manager/managerC.c index 3af59a81..20202345 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -277,27 +277,25 @@ void sub_08058CFC() { } } -NONMATCH("asm/non_matching/managerC/sub_08058D34.inc", void sub_08058D34()) { +void sub_08058D34() { u16 tmp; + u32 tmp2; LoadPaletteGroup(0x28); MemCopy(gUnk_02017700, gUnk_02017700 + 0x240, 0x20); gUsedPalettes |= 0x200000; LoadGfxGroup(0x16); tmp = gScreen.lcd.displayControl; + tmp2 = 0; gScreen.lcd.displayControl |= 1; gScreen.affine.bg2Control = 0xBC82; gScreen.bg.bg1Control = 0x5E86; gScreen.bg.bg1xOffset = 0; - gScreen.bg.bg1yOffset = 0; - gScreen.bg.bg1Tilemap = 0; + gScreen.bg.bg1yOffset = tmp2; gScreen.controls.layerFXControl = 0x3456; - gScreen.controls.alphaBlend = 0x909; - gArea.musicIndex = gArea.pMusicIndex; gUnk_02000070 = 0; if (CheckGlobalFlag(LV1TARU_OPEN)) { LoadGfxGroup(0x4A); } } -END_NONMATCH From d28b21890450ff7247800f9084864c4a188f5cf8 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 10:42:00 +0200 Subject: [PATCH 5/7] manager12: removed unused nonmatching --- asm/non_matching/manager12/sub_08059C8C.inc | 28 --------------------- 1 file changed, 28 deletions(-) delete mode 100644 asm/non_matching/manager12/sub_08059C8C.inc diff --git a/asm/non_matching/manager12/sub_08059C8C.inc b/asm/non_matching/manager12/sub_08059C8C.inc deleted file mode 100644 index 3ac8da37..00000000 --- a/asm/non_matching/manager12/sub_08059C8C.inc +++ /dev/null @@ -1,28 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r5, r1, #0 - adds r4, r2, #0 - adds r0, r3, #0 - bl sub_08056300 - adds r2, r0, #0 - strb r2, [r4] - lsls r0, r2, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0xff - beq _08059CBC - ldr r0, _08059CB8 @ =gRoomVars - adds r0, #0x10 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, r3 - beq _08059CBC - strb r2, [r1] - movs r0, #1 - b _08059CBE - .align 2, 0 -_08059CB8: .4byte gRoomVars -_08059CBC: - movs r0, #0 -_08059CBE: - pop {r4, r5, pc} - .syntax divided From 23413dadca5103a3afd24ee3177e09962ffc0d50 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 10:43:03 +0200 Subject: [PATCH 6/7] manager15: removed unused nonmatching --- asm/non_matching/manager15/sub_0805A9CC.inc | 74 --------------------- 1 file changed, 74 deletions(-) delete mode 100644 asm/non_matching/manager15/sub_0805A9CC.inc diff --git a/asm/non_matching/manager15/sub_0805A9CC.inc b/asm/non_matching/manager15/sub_0805A9CC.inc deleted file mode 100644 index a9cf2adc..00000000 --- a/asm/non_matching/manager15/sub_0805A9CC.inc +++ /dev/null @@ -1,74 +0,0 @@ - push {r4, r5, lr} - add r4, r0, #0 - ldr r3, _0805AA4C @ =gScreen - ldr r5, _0805AA50 @ =gRoomControls - ldrh r0, [r5, #0xa] - ldrh r1, [r4, #0x24] - sub r0, r0, r1 - ldrh r1, [r4, #0x34] - add r0, r0, r1 - strh r0, [r3, #0x2e] - mov r2, #0x2e - ldrsh r0, [r3, r2] - neg r2, r0 - mov r0, #0x80 - lsl r0, r0, #1 - add r1, r2, r0 - cmp r2, #0 - bge _0805A9F2 - mov r2, #0 -_0805A9F2: - cmp r2, #0xf0 - ble _0805A9F8 - mov r2, #0xf0 -_0805A9F8: - cmp r1, #0 - bge _0805A9FE - mov r1, #0 -_0805A9FE: - cmp r1, #0xf0 - ble _0805AA04 - mov r1, #0xf0 -_0805AA04: - lsl r0, r2, #8 - orr r0, r1 - add r1, r3, #0 - add r1, #0x5a - strh r0, [r1] - mov r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r4, #0x26] - sub r0, r0, r1 - mov r2, #0x36 - ldrsh r1, [r4, r2] - add r2, r0, r1 - mov r1, #0x3f - add r0, r2, #0 - and r0, r1 - strh r0, [r3, #0x30] - add r0, r2, #0 - cmp r0, #0 - bge _0805AA2C - add r0, #0x3f -_0805AA2C: - asr r0, r0, #6 - lsl r0, r0, #9 - ldr r1, _0805AA54 @ =gBG3Buffer - add r1, r0, r1 - str r1, [r3, #0x34] - add r2, r3, #0 - add r2, #0x5e - mov r0, #0xa0 - strh r0, [r2] - ldr r0, [r4, #0x28] - cmp r0, r1 - beq _0805AA4A - str r1, [r4, #0x28] - mov r0, #1 - strh r0, [r3, #0x32] -_0805AA4A: - pop {r4, r5, pc} - .align 2, 0 -_0805AA4C: .4byte gScreen -_0805AA50: .4byte gRoomControls -_0805AA54: .4byte gBG3Buffer From dff1c29f5602bf818746151004c98cfd0b0f2001 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 29 Sep 2021 11:27:12 +0200 Subject: [PATCH 7/7] manager2B: match sub_0805D02C and sub_0805D11C --- asm/non_matching/manager2B/sub_0805D02C.inc | 74 --------------------- asm/non_matching/manager2B/sub_0805D11C.inc | 44 ------------ src/manager/manager2B.c | 46 ++++--------- 3 files changed, 12 insertions(+), 152 deletions(-) delete mode 100644 asm/non_matching/manager2B/sub_0805D02C.inc delete mode 100644 asm/non_matching/manager2B/sub_0805D11C.inc diff --git a/asm/non_matching/manager2B/sub_0805D02C.inc b/asm/non_matching/manager2B/sub_0805D02C.inc deleted file mode 100644 index fc30b11f..00000000 --- a/asm/non_matching/manager2B/sub_0805D02C.inc +++ /dev/null @@ -1,74 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - ldrh r0, [r6, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805D046 - bl DeleteThisEntity -_0805D046: - ldr r0, _0805D0BC @ =gEntCount - ldrb r0, [r0] - cmp r0, #0x43 - bhi _0805D0B0 - ldrb r0, [r6, #0xa] - bl GetCurrentRoomProperty - adds r5, r0, #0 - movs r7, #0 - movs r0, #0x36 - adds r0, r0, r6 - mov sl, r0 - ldr r1, _0805D0C0 @ =gRoomControls - mov r8, r1 - movs r0, #0x20 - adds r0, r0, r6 - mov sb, r0 -_0805D068: - ldrh r1, [r5, #4] - movs r0, #0xa0 - adds r2, r7, #0 - bl CreateObject - adds r4, r0, #0 - mov r1, r8 - ldrh r0, [r1, #6] - ldrh r1, [r5] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - mov r1, r8 - ldrh r0, [r1, #8] - ldrh r1, [r5, #2] - adds r0, r0, r1 - strh r0, [r4, #0x32] - str r6, [r4, #0x50] - adds r0, r4, #0 - bl sub_08016A30 - mov r0, sb - adds r0, #4 - mov sb, r0 - subs r0, #4 - stm r0!, {r4} - adds r7, #1 - adds r5, #6 - cmp r7, #3 - bls _0805D068 - movs r0, #0 - movs r1, #1 - strb r1, [r6, #0xc] - movs r1, #0x3c - strb r1, [r6, #0xf] - mov r1, sl - strb r0, [r1] -_0805D0B0: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D0BC: .4byte gEntCount -_0805D0C0: .4byte gRoomControls - .syntax divided diff --git a/asm/non_matching/manager2B/sub_0805D11C.inc b/asm/non_matching/manager2B/sub_0805D11C.inc deleted file mode 100644 index 6f1e4f0e..00000000 --- a/asm/non_matching/manager2B/sub_0805D11C.inc +++ /dev/null @@ -1,44 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - movs r6, #0 - ldr r1, _0805D170 @ =gRoomControls - mov r8, r1 - movs r7, #0x3f - adds r5, r0, #0 - adds r5, #0x20 -_0805D12E: - ldr r4, [r5] - movs r0, #0 - stm r5!, {r0} - movs r2, #0x2e - ldrsh r0, [r4, r2] - mov r3, r8 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r3, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r7 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - adds r0, r4, #0 - bl DeleteEntity - adds r6, #1 - cmp r6, #3 - bls _0805D12E - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D170: .4byte gRoomControls - .syntax divided diff --git a/src/manager/manager2B.c b/src/manager/manager2B.c index 29cc7462..3ef01daf 100644 --- a/src/manager/manager2B.c +++ b/src/manager/manager2B.c @@ -7,19 +7,7 @@ typedef struct { Manager manager; - Entity* field_0x20; - u8 field_0x24; - u8 field_0x25; - u8 field_0x26; - u8 field_0x27; - u8 field_0x28; - u8 field_0x29; - u8 field_0x2a; - u8 field_0x2b; - u8 field_0x2c; - u8 field_0x2d; - u8 field_0x2e; - u8 field_0x2f; + Entity* field_0x20[4]; u8 field_0x30; u8 field_0x31; u8 field_0x32; @@ -47,36 +35,31 @@ void Manager2B_Main(Manager2B* this) { gUnk_08108D30[this->manager.action](this); } -NONMATCH("asm/non_matching/manager2B/sub_0805D02C.inc", void sub_0805D02C(Manager2B* this)) { +void sub_0805D02C(Manager2B* this) { u32 counter; u16* objectData; Entity* object; - Entity** createdObjects; - - if (CheckFlags((u32)this->field_0x3e) != 0) { + if (CheckFlags(this->field_0x3e)) { DeleteThisEntity(); } if (gEntCount < 0x44) { objectData = GetCurrentRoomProperty(this->manager.unk_0a); counter = 0; - createdObjects = &this->field_0x20; while (counter < 4) { object = CreateObject(OBJECT_A0, objectData[2], counter); object->x.HALF.HI = objectData[0] + gRoomControls.roomOriginX; object->y.HALF.HI = objectData[1] + gRoomControls.roomOriginY; object->parent = (Entity*)this; sub_08016A30(object); - *createdObjects = object; + this->field_0x20[counter] = object; counter += 1; objectData += 3; - createdObjects += 1; } this->manager.action = 1; this->manager.unk_0f = 0x3c; this->field_0x36 = 0; } } -END_NONMATCH void sub_0805D0C4(Manager2B* this) { if (--this->manager.unk_0f == 0) { @@ -98,20 +81,15 @@ void sub_0805D0FC(Manager2B* this) { } } -NONMATCH("asm/non_matching/manager2B/sub_0805D11C.inc", void sub_0805D11C(Manager2B* this)) { - Entity* entity; - Entity** createdObjects; +void sub_0805D11C(Manager2B* this) { + Entity** entity_iterator; u32 counter; - - counter = 0; - createdObjects = &this->field_0x20; - while (counter < 4) { - entity = *createdObjects; - *createdObjects = NULL; - sub_0807BA8C(TILE(entity->x.HALF.HI, entity->y.HALF.HI), entity->collisionLayer); + for (counter = 0; counter < 4; counter++) { + Entity* entity; + entity_iterator = &this->field_0x20[counter]; + entity = *entity_iterator; + *entity_iterator = NULL; + sub_0807BA8C(COORD_TO_TILE(entity), entity->collisionLayer); DeleteEntity(entity); - createdObjects += 1; - counter += 1; } } -END_NONMATCH