diff --git a/asm/non_matching/eu/sub_0801B4C8.inc b/asm/non_matching/eu/sub_0801B4C8.inc index 33416c34..53ee5df6 100644 --- a/asm/non_matching/eu/sub_0801B4C8.inc +++ b/asm/non_matching/eu/sub_0801B4C8.inc @@ -100,4 +100,4 @@ _0801B5A4: adds r0, r4, #0 bl sub_0801B584 pop {r4, r5, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/eu/sub_08075338.inc b/asm/non_matching/eu/sub_08075338.inc index 1ab34548..384a2137 100644 --- a/asm/non_matching/eu/sub_08075338.inc +++ b/asm/non_matching/eu/sub_08075338.inc @@ -177,4 +177,4 @@ _08074EE2: pop {r4, r5, r6, r7, pc} .align 2, 0 _08074EE4: .4byte gPlayerEntity - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/eu/sub_08075ADC.inc b/asm/non_matching/eu/sub_08075ADC.inc index 5ebc348f..e9bdb235 100644 --- a/asm/non_matching/eu/sub_08075ADC.inc +++ b/asm/non_matching/eu/sub_08075ADC.inc @@ -55,4 +55,4 @@ _08075578: bl UpdateItemAnim _0807557E: pop {r4, r5, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/manager32/Manager32_Main.inc b/asm/non_matching/manager32/Manager32_Main.inc deleted file mode 100644 index 7b7b447b..00000000 --- a/asm/non_matching/manager32/Manager32_Main.inc +++ /dev/null @@ -1,25 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805D7D4 @ =gUnk_08108D7C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, _0805D7D8 @ =gScreenTransition - ldr r0, [r0] - lsls r0, r0, #4 - str r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0805D9D8 - ldr r0, [r4, #0x20] - ldr r1, [r4, #0x28] - ldr r2, [r4, #0x24] - bl sub_0805DA08 - pop {r4, pc} - .align 2, 0 -_0805D7D4: .4byte gUnk_08108D7C -_0805D7D8: .4byte gScreenTransition - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D7DC.inc b/asm/non_matching/manager32/sub_0805D7DC.inc deleted file mode 100644 index 51d63c09..00000000 --- a/asm/non_matching/manager32/sub_0805D7DC.inc +++ /dev/null @@ -1,77 +0,0 @@ - .syntax unified - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - movs r2, #2 - cmp r0, #0 - bne _0805D7EA - movs r2, #1 -_0805D7EA: - movs r0, #0 - strb r2, [r1, #0xc] - str r0, [r1, #0x20] - str r0, [r1, #0x24] - ldr r0, _0805D80C @ =gRoomControls - ldrb r0, [r0, #4] - cmp r0, #0x78 - beq _0805D83C - cmp r0, #0x78 - bgt _0805D816 - cmp r0, #7 - beq _0805D828 - cmp r0, #7 - bgt _0805D810 - cmp r0, #3 - beq _0805D82C - b _0805D828 - .align 2, 0 -_0805D80C: .4byte gRoomControls -_0805D810: - cmp r0, #0x38 - beq _0805D840 - b _0805D828 -_0805D816: - cmp r0, #0x81 - beq _0805D830 - cmp r0, #0x81 - bgt _0805D824 - cmp r0, #0x80 - beq _0805D834 - b _0805D828 -_0805D824: - cmp r0, #0x88 - beq _0805D838 -_0805D828: - movs r1, #0 - b _0805D842 -_0805D82C: - movs r1, #1 - b _0805D842 -_0805D830: - movs r1, #2 - b _0805D842 -_0805D834: - movs r1, #3 - b _0805D842 -_0805D838: - movs r1, #4 - b _0805D842 -_0805D83C: - movs r1, #5 - b _0805D842 -_0805D840: - movs r1, #6 -_0805D842: - ldr r0, _0805D854 @ =gUnk_08108D74 - adds r0, r1, r0 - ldrb r0, [r0] - bl LoadGfxGroup - ldr r1, _0805D858 @ =gScreen - ldr r0, _0805D85C @ =0x00001E04 - strh r0, [r1, #0x2c] - pop {pc} - .align 2, 0 -_0805D854: .4byte gUnk_08108D74 -_0805D858: .4byte gScreen -_0805D85C: .4byte 0x00001E04 - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D860.inc b/asm/non_matching/manager32/sub_0805D860.inc deleted file mode 100644 index 7e46065a..00000000 --- a/asm/non_matching/manager32/sub_0805D860.inc +++ /dev/null @@ -1,84 +0,0 @@ - .syntax unified - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #1 - beq _0805D89C - cmp r0, #1 - bgt _0805D874 - cmp r0, #0 - beq _0805D87E - b _0805D8D6 -_0805D874: - cmp r0, #2 - beq _0805D8B0 - cmp r0, #3 - beq _0805D8C2 - b _0805D8D6 -_0805D87E: - movs r0, #1 - strb r0, [r1, #0xd] - movs r0, #0x80 - str r0, [r1, #0x20] - ldr r2, _0805D898 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805D8F4 - .align 2, 0 -_0805D898: .4byte gScreen -_0805D89C: - ldr r0, [r1, #0x20] - subs r0, #1 - str r0, [r1, #0x20] - cmp r0, #0x10 - bne _0805D8F4 - movs r0, #2 - strb r0, [r1, #0xd] - movs r0, #0x2d - strb r0, [r1, #0xe] - b _0805D8F4 -_0805D8B0: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D8F4 - movs r0, #3 - strb r0, [r1, #0xd] - b _0805D8F4 -_0805D8C2: - ldr r0, [r1, #0x20] - subs r0, #1 - str r0, [r1, #0x20] - cmp r0, #0 - bne _0805D8F4 - movs r0, #4 - strb r0, [r1, #0xd] - movs r0, #0x3c - strb r0, [r1, #0xe] - b _0805D8F4 -_0805D8D6: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D8F4 - bl sub_0801E104 - ldr r2, _0805D8F8 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805D8FC @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805D8F4: - pop {pc} - .align 2, 0 -_0805D8F8: .4byte gScreen -_0805D8FC: .4byte 0x0000F7FF - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D900.inc b/asm/non_matching/manager32/sub_0805D900.inc deleted file mode 100644 index 957bfdfe..00000000 --- a/asm/non_matching/manager32/sub_0805D900.inc +++ /dev/null @@ -1,75 +0,0 @@ - .syntax unified - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #1 - beq _0805D938 - cmp r0, #1 - bgt _0805D914 - cmp r0, #0 - beq _0805D91A - b _0805D966 -_0805D914: - cmp r0, #2 - beq _0805D94E - b _0805D966 -_0805D91A: - movs r1, #1 - strb r1, [r2, #0xd] - movs r0, #0x2d - strb r0, [r2, #0xe] - str r1, [r2, #0x20] - ldr r2, _0805D934 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805D982 - .align 2, 0 -_0805D934: .4byte gScreen -_0805D938: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D982 - movs r0, #2 - strb r0, [r2, #0xd] - movs r0, #0x14 - strb r0, [r2, #0xe] - b _0805D982 -_0805D94E: - ldr r0, [r2, #0x20] - adds r0, #1 - str r0, [r2, #0x20] - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D982 - movs r0, #3 - strb r0, [r2, #0xd] - b _0805D982 -_0805D966: - ldr r0, [r2, #0x20] - adds r0, #4 - str r0, [r2, #0x20] - cmp r0, #0x80 - bls _0805D982 - bl sub_0801E104 - ldr r2, _0805D984 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805D988 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805D982: - pop {pc} - .align 2, 0 -_0805D984: .4byte gScreen -_0805D988: .4byte 0x0000F7FF - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D98C.inc b/asm/non_matching/manager32/sub_0805D98C.inc deleted file mode 100644 index 85c4b0b3..00000000 --- a/asm/non_matching/manager32/sub_0805D98C.inc +++ /dev/null @@ -1,43 +0,0 @@ - .syntax unified - push {lr} - adds r2, r0, #0 - ldr r3, _0805D9D4 @ =gInput - ldrh r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0805D9A2 - ldr r0, [r2, #0x20] - subs r0, #1 - str r0, [r2, #0x20] -_0805D9A2: - ldrh r1, [r3] - movs r0, #0x80 - ands r0, r1 - adds r3, r1, #0 - cmp r0, #0 - beq _0805D9B4 - ldr r0, [r2, #0x20] - adds r0, #1 - str r0, [r2, #0x20] -_0805D9B4: - movs r0, #0x20 - ands r0, r3 - cmp r0, #0 - beq _0805D9C2 - ldr r0, [r2, #0x28] - subs r0, #1 - str r0, [r2, #0x28] -_0805D9C2: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805D9D0 - ldr r0, [r2, #0x28] - adds r0, #1 - str r0, [r2, #0x28] -_0805D9D0: - pop {pc} - .align 2, 0 -_0805D9D4: .4byte gInput - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D9D8.inc b/asm/non_matching/manager32/sub_0805D9D8.inc deleted file mode 100644 index 5ca9e63a..00000000 --- a/asm/non_matching/manager32/sub_0805D9D8.inc +++ /dev/null @@ -1,25 +0,0 @@ - .syntax unified - push {r4, lr} - ldr r4, [r0, #0x14] - cmp r4, #0 - beq _0805D9FC - ldr r3, _0805DA00 @ =gScreen - ldr r2, _0805DA04 @ =gRoomControls - ldrh r1, [r4, #0x2e] - ldrh r0, [r2, #0xa] - subs r1, r1, r0 - movs r0, #0x80 - subs r0, r0, r1 - strh r0, [r3, #0x2e] - ldrh r1, [r4, #0x32] - ldrh r0, [r2, #0xc] - subs r1, r1, r0 - movs r0, #0x8c - subs r0, r0, r1 - strh r0, [r3, #0x30] -_0805D9FC: - pop {r4, pc} - .align 2, 0 -_0805DA00: .4byte gScreen -_0805DA04: .4byte gRoomControls - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805DA08.inc b/asm/non_matching/manager32/sub_0805DA08.inc deleted file mode 100644 index dda42029..00000000 --- a/asm/non_matching/manager32/sub_0805DA08.inc +++ /dev/null @@ -1,65 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sl, r0 - adds r5, r1, #0 - adds r6, r2, #0 - ldr r2, _0805DA78 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0805DA7C @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r3, #0 - mov r8, r2 - mov sb, r1 - ldr r0, _0805DA80 @ =gSineTable - mov ip, r0 - movs r2, #0xff - ldr r1, _0805DA84 @ =gScreen -_0805DA34: - adds r0, r6, r3 - adds r0, r0, r5 - ands r0, r2 - lsls r0, r0, #1 - add r0, ip - movs r7, #0 - ldrsh r0, [r0, r7] - mov r7, sl - muls r7, r0, r7 - adds r0, r7, #0 - lsrs r0, r0, #8 - ldrh r7, [r1, #0x2e] - adds r0, r0, r7 - strh r0, [r4] - adds r4, #2 - adds r3, #1 - adds r5, #0x17 - cmp r3, #0x9f - bls _0805DA34 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, sb - ldr r1, _0805DA88 @ =0x0400001C - ldr r2, _0805DA8C @ =0xA2600001 - bl sub_0805622C - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805DA78: .4byte gUnk_03003DE4 -_0805DA7C: .4byte gUnk_02017AA0 -_0805DA80: .4byte gSineTable -_0805DA84: .4byte gScreen -_0805DA88: .4byte 0x0400001C -_0805DA8C: .4byte 0xA2600001 - .syntax divided diff --git a/asm/non_matching/manager32/sub_0805DA90.inc b/asm/non_matching/manager32/sub_0805DA90.inc deleted file mode 100644 index 2bb58d66..00000000 --- a/asm/non_matching/manager32/sub_0805DA90.inc +++ /dev/null @@ -1,40 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl GetEmptyManager - adds r1, r0, #0 - cmp r1, #0 - beq _0805DAB4 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x32 - strb r0, [r1, #9] - strb r4, [r1, #0xa] - str r5, [r1, #0x14] - adds r0, r1, #0 - movs r1, #8 - bl AppendEntityToList -_0805DAB4: - ldr r0, _0805DAD8 @ =gArea - ldr r1, _0805DADC @ =0x0000088C - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, #0 - beq _0805DAD4 - ldr r2, _0805DAE0 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805DAE4 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl sub_080528F0 - ldr r0, [r4] - bl DeleteManager -_0805DAD4: - pop {r4, r5, pc} - .align 2, 0 -_0805DAD8: .4byte gArea -_0805DADC: .4byte 0x0000088C -_0805DAE0: .4byte gScreen -_0805DAE4: .4byte 0x0000F7FF - .syntax divided diff --git a/asm/non_matching/managerF/ManagerF_Main.inc b/asm/non_matching/managerF/ManagerF_Main.inc deleted file mode 100644 index 6cb92606..00000000 --- a/asm/non_matching/managerF/ManagerF_Main.inc +++ /dev/null @@ -1,12 +0,0 @@ - .syntax unified - push {lr} - ldr r2, _08058EE0 @ =gUnk_08108314 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08058EE0: .4byte gUnk_08108314 - .syntax divided diff --git a/asm/non_matching/managerF/SetDirtTile.inc b/asm/non_matching/managerF/SetDirtTile.inc deleted file mode 100644 index c60b7e19..00000000 --- a/asm/non_matching/managerF/SetDirtTile.inc +++ /dev/null @@ -1,19 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x1d - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - movs r0, #0 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - subs r4, #0x40 - movs r0, #0 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - pop {r4, pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_08058F44.inc b/asm/non_matching/managerF/sub_08058F44.inc deleted file mode 100644 index c6c1b113..00000000 --- a/asm/non_matching/managerF/sub_08058F44.inc +++ /dev/null @@ -1,31 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r0, r2, #0 - bl CheckRoomFlag - cmp r0, #0 - bne _08058F80 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_080002A8 - cmp r0, #0x61 - bne _08058F80 - lsrs r1, r4, #4 - movs r2, #0x3f - ands r1, r2 - lsrs r0, r5, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x26 - movs r2, #1 - bl SetTileType - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08058F84 -_08058F80: - pop {r4, r5, pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_08058F84.inc b/asm/non_matching/managerF/sub_08058F84.inc deleted file mode 100644 index 9be2adab..00000000 --- a/asm/non_matching/managerF/sub_08058F84.inc +++ /dev/null @@ -1,23 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0x21 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _08058FA8 - ldr r0, _08058FAC @ =gRoomControls - ldrh r1, [r0, #6] - adds r1, r1, r4 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, r0, r5 - strh r0, [r2, #0x32] -_08058FA8: - pop {r4, r5, pc} - .align 2, 0 -_08058FAC: .4byte gRoomControls - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059064.inc b/asm/non_matching/managerF/sub_08059064.inc deleted file mode 100644 index e0b4e12d..00000000 --- a/asm/non_matching/managerF/sub_08059064.inc +++ /dev/null @@ -1,26 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #0x53 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805908E - movs r0, #2 - strb r0, [r2, #0xe] - ldr r1, _08059090 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] -_0805908E: - pop {r4, pc} - .align 2, 0 -_08059090: .4byte gRoomControls - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059094.inc b/asm/non_matching/managerF/sub_08059094.inc deleted file mode 100644 index b4956529..00000000 --- a/asm/non_matching/managerF/sub_08059094.inc +++ /dev/null @@ -1,37 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080590B6 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x60 - bl CheckLocalFlag - cmp r0, #0 - bne _080590CC - movs r0, #0x5f - bl SetLocalFlag - b _080590C8 -_080590B6: - movs r0, #0x60 - bl CheckLocalFlag - cmp r0, #0 - beq _080590C8 - movs r0, #0x5f - bl ClearLocalFlag - movs r5, #1 -_080590C8: - cmp r5, #0 - beq _080590D8 -_080590CC: - ldr r0, _080590DC @ =gUnk_080F4B88 - bl LoadRoomEntityList - adds r0, r4, #0 - bl DeleteManager -_080590D8: - pop {r4, r5, pc} - .align 2, 0 -_080590DC: .4byte gUnk_080F4B88 - .syntax divided diff --git a/asm/non_matching/managerF/sub_080590E0.inc b/asm/non_matching/managerF/sub_080590E0.inc deleted file mode 100644 index f48e5002..00000000 --- a/asm/non_matching/managerF/sub_080590E0.inc +++ /dev/null @@ -1,34 +0,0 @@ - .syntax unified - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080590F6 - movs r0, #1 - strb r0, [r1, #0xc] - adds r0, r1, #0 - movs r1, #6 - bl sub_0805E3A0 -_080590F6: - movs r0, #0x6c - bl CheckLocalFlag - cmp r0, #0 - beq _0805911A - movs r0, #0x4b - bl CheckLocalFlag - cmp r0, #0 - beq _08059112 - movs r0, #0x4a - bl SetLocalFlag - b _08059120 -_08059112: - movs r0, #0x4a - bl ClearLocalFlag - b _08059120 -_0805911A: - movs r0, #0x4a - bl ClearLocalFlag -_08059120: - pop {pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059278.inc b/asm/non_matching/managerF/sub_08059278.inc deleted file mode 100644 index 25ce854e..00000000 --- a/asm/non_matching/managerF/sub_08059278.inc +++ /dev/null @@ -1,13 +0,0 @@ - .syntax unified - push {lr} - movs r0, #9 - movs r1, #0xf - movs r2, #6 - bl FindEntityByID - cmp r0, #0 - beq _0805928C - bl ManagerF_Main -_0805928C: - pop {pc} - .align 2, 0 - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059290.inc b/asm/non_matching/managerF/sub_08059290.inc deleted file mode 100644 index 22500012..00000000 --- a/asm/non_matching/managerF/sub_08059290.inc +++ /dev/null @@ -1,11 +0,0 @@ - .syntax unified - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805929C @ =gRoomControls - ldr r0, _080592A0 @ =gPlayerEntity - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0805929C: .4byte gRoomControls -_080592A0: .4byte gPlayerEntity - .syntax divided diff --git a/asm/non_matching/managerF/sub_080592A4.inc b/asm/non_matching/managerF/sub_080592A4.inc deleted file mode 100644 index aecf7389..00000000 --- a/asm/non_matching/managerF/sub_080592A4.inc +++ /dev/null @@ -1,34 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080592C8 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _080592EA - adds r0, r4, #0 - bl sub_080592EC - bl DeleteThisEntity - b _080592EA -_080592C8: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _080592EA - adds r0, r4, #0 - bl sub_080592EC - adds r0, r4, #0 - bl sub_0805930C -.ifndef EU - movs r0, #0xb7 - lsls r0, r0, #1 - bl SoundReq -.endif - bl DeleteThisEntity -_080592EA: - pop {r4, pc} - .syntax divided diff --git a/asm/non_matching/managerF/sub_080592EC.inc b/asm/non_matching/managerF/sub_080592EC.inc deleted file mode 100644 index dcec9327..00000000 --- a/asm/non_matching/managerF/sub_080592EC.inc +++ /dev/null @@ -1,17 +0,0 @@ - .syntax unified - push {lr} - adds r1, r0, #0 - ldrh r0, [r1, #0x38] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r1, #0x3a] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - bl SetDirtTile - pop {pc} - .syntax divided diff --git a/asm/non_matching/managerF/sub_0805930C.inc b/asm/non_matching/managerF/sub_0805930C.inc deleted file mode 100644 index dc5ec24c..00000000 --- a/asm/non_matching/managerF/sub_0805930C.inc +++ /dev/null @@ -1,32 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xf - movs r1, #0x43 -.ifdef EU - movs r2, #0x0 -.else - movs r2, #0x40 -.endif - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805933A - ldr r1, _0805933C @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] -_0805933A: - pop {r4, pc} - .align 2, 0 -_0805933C: .4byte gRoomControls - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059368.inc b/asm/non_matching/managerF/sub_08059368.inc deleted file mode 100644 index 4c48609e..00000000 --- a/asm/non_matching/managerF/sub_08059368.inc +++ /dev/null @@ -1,18 +0,0 @@ - .syntax unified - push {lr} - adds r2, r0, #0 - movs r0, #1 - strb r0, [r2, #0xc] - ldr r1, _08059388 @ =gCurrentTextBox - ldrh r0, [r2, #0x3c] - ldrh r1, [r1, #0x28] - cmp r0, r1 - bne _08059384 - ldrh r0, [r2, #0x3e] - bl SetFlag - bl DeleteThisEntity -_08059384: - pop {pc} - .align 2, 0 -_08059388: .4byte gCurrentTextBox - .syntax divided diff --git a/asm/non_matching/managerF/sub_0805938C.inc b/asm/non_matching/managerF/sub_0805938C.inc deleted file mode 100644 index 628a8773..00000000 --- a/asm/non_matching/managerF/sub_0805938C.inc +++ /dev/null @@ -1,33 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - bl sub_080593CC - cmp r0, #0 - beq _080593C8 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _080593CA - movs r1, #0x38 - ldrsh r0, [r4, r1] - ldr r2, _080593C4 @ =gRoomControls - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r3, #0x3a - ldrsh r1, [r4, r3] - ldrh r2, [r2, #8] - subs r1, r1, r2 - movs r2, #0xff - movs r3, #0xa - bl sub_080806BC - b _080593CA - .align 2, 0 -_080593C4: .4byte gRoomControls -_080593C8: - strb r0, [r4, #0xe] -_080593CA: - pop {r4, pc} - .syntax divided diff --git a/asm/non_matching/managerF/sub_08059424.inc b/asm/non_matching/managerF/sub_08059424.inc deleted file mode 100644 index 265f6ecb..00000000 --- a/asm/non_matching/managerF/sub_08059424.inc +++ /dev/null @@ -1,42 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059436 - bl DeleteThisEntity -_08059436: - ldrh r0, [r4, #0x3c] - bl CheckFlags - cmp r0, #0 - beq _08059476 - movs r0, #0xf - movs r1, #0x35 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _08059476 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r1, _08059478 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] - movs r0, #0xd8 - lsls r0, r0, #1 - bl EnqueueSFX - bl DeleteThisEntity -_08059476: - pop {r4, pc} - .align 2, 0 -_08059478: .4byte gRoomControls - .syntax divided diff --git a/asm/non_matching/managerF/sub_0805947C.inc b/asm/non_matching/managerF/sub_0805947C.inc index 9c858c5d..3f061bc2 100644 --- a/asm/non_matching/managerF/sub_0805947C.inc +++ b/asm/non_matching/managerF/sub_0805947C.inc @@ -41,5 +41,4 @@ _080594D2: .align 2, 0 _080594D4: .4byte gUnk_08108380 _080594D8: .4byte gPlayerEntity -.ifndef EU .syntax divided diff --git a/asm/non_matching/managerF/sub_080594DC.inc b/asm/non_matching/managerF/sub_080594DC.inc index da9cffeb..0733df2a 100644 --- a/asm/non_matching/managerF/sub_080594DC.inc +++ b/asm/non_matching/managerF/sub_080594DC.inc @@ -48,5 +48,4 @@ _08059540: pop {r4, pc} .align 2, 0 _08059544: .4byte gArea -.endif .syntax divided diff --git a/include/room.h b/include/room.h index c26c9ed3..ff71d1f8 100644 --- a/include/room.h +++ b/include/room.h @@ -45,7 +45,9 @@ typedef struct { u8 field_0x8; u8 field_0x9; u8 unk2; - u8 filler2[5]; + u8 filler2; + u16 field_0xc; + u8 filler3[2]; u8 unk_10[4]; u32 roomFlags; u32 unk3; diff --git a/src/manager/manager12.c b/src/manager/manager12.c index 35d431d2..7ab89be8 100644 --- a/src/manager/manager12.c +++ b/src/manager/manager12.c @@ -40,7 +40,6 @@ extern Unknown gUnk_08108468[]; extern Unknown gUnk_08108408[]; extern const u8 gGlobalGfxAndPalettes[]; - void Manager12_Main(Manager12* this) { if (this->manager.action == 0) { this->manager.action = 1; @@ -87,22 +86,23 @@ void sub_08059A58(Manager12* this) { } } - -#define COMMON(tmp2, tmp1) ((tmp2) >> 4 & 0x3f) | (((tmp1)+0x188U) >> 4 & 0x3f) << 6 +#define COMMON(tmp2, tmp1) ((tmp2) >> 4 & 0x3f) | (((tmp1) + 0x188U) >> 4 & 0x3f) << 6 void sub_08059B18(void) { u32 loopVar; u32 innerLoopVar; if (CheckGlobalFlag(TATEKAKE_HOUSE) != 0) { - for(loopVar = 0; loopVar < 4; ++loopVar) { - for(innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { - sub_0807B9B8(loopVar * 0x10 + 0x4ab + innerLoopVar, COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1); + for (loopVar = 0; loopVar < 4; ++loopVar) { + for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { + sub_0807B9B8(loopVar * 0x10 + 0x4ab + innerLoopVar, COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), + 1); } } - for(loopVar = 0; loopVar < 3; ++loopVar) { - for(innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { - sub_0807B9B8(loopVar * 0x10 + 0x440 + innerLoopVar, COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 2); + for (loopVar = 0; loopVar < 3; ++loopVar) { + for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { + sub_0807B9B8(loopVar * 0x10 + 0x440 + innerLoopVar, COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), + 2); } } sub_0807B9B8(0xd6, 0x5c2, 2); @@ -110,9 +110,10 @@ void sub_08059B18(void) { LoadResourceAsync(&gUnk_086E8460, 0x6001800, 0x800); } else { if (CheckGlobalFlag(TATEKAKE_TOCHU) != 0) { - for(loopVar = 0; loopVar < 5; ++loopVar) { - for(innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { - sub_0807B9B8(loopVar * 0x10 + 0x4a6 + innerLoopVar, COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1); + for (loopVar = 0; loopVar < 5; ++loopVar) { + for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { + sub_0807B9B8(loopVar * 0x10 + 0x4a6 + innerLoopVar, + COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1); } } sub_0807B9B8(0x444, 0x602, 2); @@ -135,7 +136,6 @@ bool32 sub_08059C8C(Manager12* this, u32 param_2, u8* param_3, u16* param_4) { } } - void sub_08059CC0(u32 param_1, u32 param_2) { Unknown* unknown; diff --git a/src/manager/manager13.c b/src/manager/manager13.c index 5c733063..36598b1e 100644 --- a/src/manager/manager13.c +++ b/src/manager/manager13.c @@ -2,7 +2,7 @@ #include "room.h" #include "object.h" -typedef struct{ +typedef struct { Manager manager; u32 bitfield; } Manager13; @@ -41,7 +41,7 @@ void Manager13_Main(Manager13* this) { while ((spawnData->x != 0) && (type2 < 0x20)) { u32 bitfieldFlag = 1 << type2; if ((((this->bitfield & bitfieldFlag) == 0) && - (CheckRectOnScreen(spawnData->x, spawnData->y, 0x10, 0x10) != 0))) { + (CheckRectOnScreen(spawnData->x, spawnData->y, 0x10, 0x10) != 0))) { Entity* object = CreateObject(OBJECT_1C, spawnData->type, type2); if (object != NULL) { object->frameIndex = spawnData->frameIndex; diff --git a/src/manager/manager15.c b/src/manager/manager15.c index b158fdcb..47a384ac 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -427,7 +427,7 @@ void sub_0805A94C(Manager15* this) { gScreen.controls.window1VerticalDimensions = (tmp1 << 8 | tmp2); } -NONMATCH("asm/non_matching/manager15/sub_0805A9CC.inc", void sub_0805A9CC(Manager15* this)) { +void sub_0805A9CC(Manager15* this) { int tmp1, tmp2; void* tmp3; gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34; @@ -444,17 +444,14 @@ NONMATCH("asm/non_matching/manager15/sub_0805A9CC.inc", void sub_0805A9CC(Manage gScreen.controls.window1HorizontalDimensions = tmp1 << 8 | tmp2; tmp1 = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; gScreen.affine.bg3yOffset = tmp1 & 0x3F; - if (tmp1 < 0) - tmp1 += 0x3F; - tmp3 = (&gBG3Buffer[(tmp1 >> 6 << 9)]); - gScreen.affine.bg2Tilemap = (u32*)tmp3; // TODO .unk5 + tmp3 = (&gBG3Buffer[((tmp1 / 0x40) << 8)]); + gScreen.affine.bg3Tilemap = (u32*)tmp3; gScreen.controls.window1VerticalDimensions = 0xa0; if (this->unk_28 == tmp3) return; this->unk_28 = tmp3; - gScreen.affine.bg2Updated = 1; // TODO .unk4 + gScreen.affine.bg3Updated = 1; } -END_NONMATCH extern struct { u8 unk_00[0x20]; } gUnk_085A97A0[]; extern u16 gUnk_081085B8[]; diff --git a/src/manager/manager18.c b/src/manager/manager18.c index 335f2fed..cadd8885 100644 --- a/src/manager/manager18.c +++ b/src/manager/manager18.c @@ -31,8 +31,7 @@ void Manager18_Main(Manager18* this) { DeleteThisEntity(); } } else { - if ((gUnk_0810865C[this->manager.unk_0e] != 0) && - (--this->manager.unk_0f == 0)) { + if ((gUnk_0810865C[this->manager.unk_0e] != 0) && (--this->manager.unk_0f == 0)) { this->manager.unk_0f = 4; if (gUnk_0810865C[++this->manager.unk_0e] != 0) { this->field_0x20 = gUnk_0810865C[this->manager.unk_0e]; diff --git a/src/manager/manager1B.c b/src/manager/manager1B.c index 37cb856e..3dd4f36f 100644 --- a/src/manager/manager1B.c +++ b/src/manager/manager1B.c @@ -51,8 +51,7 @@ void sub_0805B448(Manager1B* this) { } void sub_0805B474(Manager1B* this) { - s32 tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x60) / - (gRoomControls.height - 0xa0); + s32 tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x60) / (gRoomControls.height - 0xa0); gScreen.affine.bg3yOffset = gRoomControls.roomOriginY + tmp; gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - ((gRoomControls.width - 0x100) / 2); } @@ -79,5 +78,5 @@ void sub_0805B4D0(u32 param_1) { if (iVar1 < 0) { iVar1 = 0; } - gScreen.affine.bg3yOffset = uVar2 + iVar1+gUnk_08108C44[param_1]; + gScreen.affine.bg3yOffset = uVar2 + iVar1 + gUnk_08108C44[param_1]; } diff --git a/src/manager/manager2.c b/src/manager/manager2.c index ca71f503..6f020f25 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -34,7 +34,7 @@ void sub_0805754C(Manager2* this) { bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); bgOffset += bgOffset >> 3; gScreen.affine.bg3yOffset = bgOffset & 0x3f; - gScreen.affine.bg3Tilemap = gMapDataTopSpecial + (bgOffset/0x40) * 0x200; + gScreen.affine.bg3Tilemap = gMapDataTopSpecial + (bgOffset / 0x40) * 0x200; if (this->field_0x38 != gScreen.affine.bg3Tilemap) { this->field_0x38 = gScreen.affine.bg3Tilemap; gScreen.affine.bg3Updated = 1; @@ -42,7 +42,7 @@ void sub_0805754C(Manager2* this) { bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); bgOffset += bgOffset >> 2; gScreen.bg.bg1yOffset = bgOffset & 0x3f; - gScreen.bg.bg1Tilemap = gMapDataTopSpecial + 0x2000+ (bgOffset/0x40) * 0x200; + gScreen.bg.bg1Tilemap = gMapDataTopSpecial + 0x2000 + (bgOffset / 0x40) * 0x200; if (this->field_0x3c != gScreen.bg.bg1Tilemap) { this->field_0x3c = gScreen.bg.bg1Tilemap; gScreen.bg.bg1Updated = 1; @@ -55,14 +55,14 @@ void sub_080575C8(u32 param) { gUnk_0200B650 = 0; *(u16*)0x4000000 = 0; LoadGfxGroup(param); - gRoomVars.unk_10 = param; + gRoomVars.unk_10[0] = param; bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); bgOffset += bgOffset >> 3; gScreen.affine.bg3yOffset = bgOffset & 0x3f; gScreen.affine.bg3xOffset = 0; gScreen.affine.bg3Tilemap = &gMapDataTopSpecial[(bgOffset / 0x40) * 0x200]; - gScreen.affine.bg3Control = 0x1d49; + gScreen.affine.bg3Control = 0x1d49; gScreen.affine.bg3Updated = 1; bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); @@ -83,7 +83,7 @@ void sub_08057688(void) { } void sub_080576A0(Manager2* this) { - LoadGfxGroup(gRoomVars.unk_10); + LoadGfxGroup(gRoomVars.unk_10[0]); this->field_0x38 = NULL; this->field_0x3c = NULL; sub_0805754C(this); diff --git a/src/manager/manager21.c b/src/manager/manager21.c index 586fedd6..f0cc377a 100644 --- a/src/manager/manager21.c +++ b/src/manager/manager21.c @@ -22,7 +22,8 @@ typedef struct { bool32 sub_0805B8CC(u32); /* -Spawns MINISH_SIZED_ENTRANCE at the locations in the room property this->manager.unk_0a when they are visible on the screen. +Spawns MINISH_SIZED_ENTRANCE at the locations in the room property this->manager.unk_0a when they are visible on the +screen. */ void Manager21_Main(Manager21* this) { MinishEntranceSpawnData* spawnData; diff --git a/src/manager/manager23.c b/src/manager/manager23.c index f38c3831..949ccf3f 100644 --- a/src/manager/manager23.c +++ b/src/manager/manager23.c @@ -46,7 +46,7 @@ void sub_0805BC8C(Manager23* this) { } void sub_0805BCD4(Manager23* this) { - switch(this->manager.action) { + switch (this->manager.action) { case 0: this->manager.action = 1; this->manager.unk_0f = 0x1e; @@ -76,8 +76,8 @@ void sub_0805BD5C(Manager23* this) { if (CheckFlags(this->field_0x3e) != 0) { sub_0805BE94(this); } - this->field_0x20 = ((s16)this->field_0x38 >> 4 & 0x3fU) | - ((s32)((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6); + this->field_0x20 = + ((s16)this->field_0x38 >> 4 & 0x3fU) | ((s32)((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6); this->manager.action = 1; } else { if (GetTileType(this->field_0x20, this->manager.unk_0b) == 0x76) { @@ -88,7 +88,6 @@ void sub_0805BD5C(Manager23* this) { } } - void sub_0805BDB4(Manager23* this) { u8 bVar1; u16 uVar2; @@ -99,8 +98,8 @@ void sub_0805BDB4(Manager23* this) { if (CheckFlags(this->field_0x3e) != 0 || CheckFlags(this->field_0x3c) != 0) { sub_0805BE94(this); } - this->field_0x20 = ((s16)this->field_0x38 >> 4 & 0x3fU) | - (((s32)(this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6); + this->field_0x20 = + ((s16)this->field_0x38 >> 4 & 0x3fU) | (((s32)(this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6); this->manager.action = 1; break; @@ -135,15 +134,12 @@ void sub_0805BDB4(Manager23* this) { void sub_0805BE70(Manager23* this, u32 param_2) { SetTileType(param_2, - ((this->field_0x38 << 0x10) >> 0x14 & 0x3fU) | - ((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6, + ((this->field_0x38 << 0x10) >> 0x14 & 0x3fU) | ((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6, this->manager.unk_0b); } void sub_0805BE94(Manager23* this) { - SetTileType(0x76, - ((this->field_0x38 << 0x10) >> 0x14 & 0x3fU) | - ((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6, + SetTileType(0x76, ((this->field_0x38 << 0x10) >> 0x14 & 0x3fU) | ((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6, this->manager.unk_0b); sub_0805308C(this->manager.unk_0e); DeleteThisEntity(); @@ -152,7 +148,7 @@ void sub_0805BE94(Manager23* this) { void sub_0805BEC4(Manager23* this) { Entity* object = CreateObject(OBJECT_2A, 1, 0); if (object != NULL) { - *(s8*)(&object->flags+1) = ((*(s8*)(&object->flags+1)) & (-0x10)) | 3; + *(s8*)(&object->flags + 1) = ((*(s8*)(&object->flags + 1)) & (-0x10)) | 3; object->x.HALF.HI = this->field_0x38 + gRoomControls.roomOriginX; object->y.HALF.HI = this->field_0x3a + gRoomControls.roomOriginY; object->collisionLayer = this->manager.unk_0b; diff --git a/src/manager/manager31.c b/src/manager/manager31.c index e1017242..2dcf7727 100644 --- a/src/manager/manager31.c +++ b/src/manager/manager31.c @@ -29,9 +29,8 @@ void Manager31_Main(Manager31* this) { if (this->manager.action == 0) { this->manager.action += 1; - if (CheckGlobalFlag(GORON_KAKERA_L) != 0 - && CheckGlobalFlag(GORON_KAKERA_M) != 0 - && CheckGlobalFlag(GORON_KAKERA_R) != 0) { + if (CheckGlobalFlag(GORON_KAKERA_L) != 0 && CheckGlobalFlag(GORON_KAKERA_M) != 0 && + CheckGlobalFlag(GORON_KAKERA_R) != 0) { if (CheckGlobalFlag(GORON_KAKERA_LV2) == 0) { if (CheckGlobalFlag(LV1_CLEAR) != 0) { SetGlobalFlag(GORON_KAKERA_LV2); @@ -48,13 +47,11 @@ void Manager31_Main(Manager31* this) { if (CheckGlobalFlag(LV3_CLEAR) != 0) { SetGlobalFlag(GORON_KAKERA_LV4); goto clearGlobalFlags; - } } else { - if (CheckGlobalFlag(GORON_KAKERA_LV5) == 0 - && CheckGlobalFlag(LV4_CLEAR) != 0) { + if (CheckGlobalFlag(GORON_KAKERA_LV5) == 0 && CheckGlobalFlag(LV4_CLEAR) != 0) { SetGlobalFlag(GORON_KAKERA_LV5); -clearGlobalFlags: + clearGlobalFlags: ClearGlobalFlag(GORON_KAKERA_L); ClearGlobalFlag(GORON_KAKERA_M); ClearGlobalFlag(GORON_KAKERA_R); @@ -70,7 +67,8 @@ clearGlobalFlags: count = 0; for (count = 0; count < 3;) { if (CheckGlobalFlag(GORON_KAKERA_L + count) == 0) { - Entity* object = CreateObject(SHOP_ITEM, 0x5c, ((s32)Random() % spawnData->maxType) + spawnData->minType); + Entity* object = + CreateObject(SHOP_ITEM, 0x5c, ((s32)Random() % spawnData->maxType) + spawnData->minType); if (object != NULL) { object->actionDelay = 1; object->field_0xf = count; @@ -91,7 +89,7 @@ clearGlobalFlags: if (CheckGlobalFlag(GORON_KAKERA_L + count) == 0) { if ((s8)this->itemActive[count] >= FALSE) { } else { - SetGlobalFlag(GORON_KAKERA_L + count); + SetGlobalFlag(GORON_KAKERA_L + count); } } } diff --git a/src/manager/manager32.c b/src/manager/manager32.c index 4461617e..514aedf6 100644 --- a/src/manager/manager32.c +++ b/src/manager/manager32.c @@ -1,17 +1,184 @@ #include "manager.h" +#include "screen.h" +#include "structures.h" +#include "room.h" +#include "functions.h" +#include "area.h" +#include "utils.h" +#include "gba/types.h" -ASM_FUNC("asm/non_matching/manager32/Manager32_Main.inc", void Manager32_Main()) +typedef struct { + Manager manager; + u32 field_0x20; + u32 field_0x24; + u32 field_0x28; +} Manager32; -ASM_FUNC("asm/non_matching/manager32/sub_0805D7DC.inc", void sub_0805D7DC()) +extern void (*const gUnk_08108D7C[])(Manager32*); +void sub_0805D9D8(Manager32*); +void sub_0805DA08(u32, u32, u32); -ASM_FUNC("asm/non_matching/manager32/sub_0805D860.inc", void sub_0805D860()) +extern void sub_080528F0(); -ASM_FUNC("asm/non_matching/manager32/sub_0805D900.inc", void sub_0805D900()) +extern u8 gUnk_08108D74[]; -ASM_FUNC("asm/non_matching/manager32/sub_0805D98C.inc", void sub_0805D98C()) +extern struct BgAffineDstData gUnk_02017AA0[]; +extern u8 gUnk_03003DE4[0xC]; +extern void sub_0805622C(struct BgAffineDstData*, u32, u32); -ASM_FUNC("asm/non_matching/manager32/sub_0805D9D8.inc", void sub_0805D9D8()) +void Manager32_Main(Manager32* this) { + gUnk_08108D7C[this->manager.action](this); + this->field_0x24 = gScreenTransition.frameCount << 4; + sub_0805D9D8(this); + sub_0805DA08(this->field_0x20, this->field_0x28, this->field_0x24); +} -ASM_FUNC("asm/non_matching/manager32/sub_0805DA08.inc", void sub_0805DA08()) +void sub_0805D7DC(Manager32* this) { + u32 index; -ASM_FUNC("asm/non_matching/manager32/sub_0805DA90.inc", void sub_0805DA90()) + this->manager.action = (this->manager.unk_0a == 0) ? 1 : 2; + this->field_0x20 = 0; + this->field_0x24 = 0; + switch (gRoomControls.areaID) { + case 7: + default: + index = 0; + break; + case 3: + index = 1; + break; + case 0x81: + index = 2; + break; + case 0x80: + index = 3; + break; + case 0x88: + index = 4; + break; + case 0x78: + index = 5; + break; + case 0x38: + index = 6; + break; + } + + LoadGfxGroup(gUnk_08108D74[index]); + gScreen.affine.bg3Control = 0x1e04; +} + +void sub_0805D860(Manager32* this) { + switch (this->manager.unk_0d) { + case 0: + this->manager.unk_0d = 1; + this->field_0x20 = 0x80; + gScreen.lcd.displayControl |= 0x800; + break; + case 1: + if (--this->field_0x20 == 0x10) { + this->manager.unk_0d = 2; + this->manager.unk_0e = 0x2d; + } + break; + case 2: + if (--this->manager.unk_0e == 0) { + this->manager.unk_0d = 3; + } + break; + case 3: + if (--this->field_0x20 == 0) { + this->manager.unk_0d = 4; + this->manager.unk_0e = 0x3c; + } + break; + default: + if (--this->manager.unk_0e == 0) { + sub_0801E104(); + gScreen.lcd.displayControl &= 0xf7ff; + DeleteThisEntity(); + } + } +} + +void sub_0805D900(Manager32* this) { + switch (this->manager.unk_0d) { + case 0: + this->manager.unk_0d = 1; + this->manager.unk_0e = 0x2d; + this->field_0x20 = 1; + gScreen.lcd.displayControl |= 0x800; + break; + case 1: + if (--this->manager.unk_0e == 0) { + this->manager.unk_0d = 2; + this->manager.unk_0e = 0x14; + } + break; + case 2: + this->field_0x20 += 1; + if (--this->manager.unk_0e != 0) { + return; + } + this->manager.unk_0d = 3; + break; + default: + this->field_0x20 += 4; + if (this->field_0x20 > 0x80) { + sub_0801E104(); + gScreen.lcd.displayControl &= 0xf7ff; + DeleteThisEntity(); + } + break; + } +} + +void sub_0805D98C(Manager32* this) { + if ((gInput.heldKeys & 0x40) != 0) { + this->field_0x20 -= 1; + } + if ((gInput.heldKeys & 0x80) != 0) { + this->field_0x20 += 1; + } + if ((gInput.heldKeys & 0x20) != 0) { + this->field_0x28 -= 1; + } + if ((gInput.heldKeys & 0x10) != 0) { + this->field_0x28 += 1; + } +} + +void sub_0805D9D8(Manager32* this) { + // TODO find out the actual type of the parent of this manager. + Manager* pMVar1 = this->manager.parent; + if (pMVar1 != NULL) { + gScreen.affine.bg3xOffset = 0x80 - (*(s16*)&pMVar1[1].unk_0e - gRoomControls.roomScrollX); + gScreen.affine.bg3yOffset = 0x8c - (*(s16*)(pMVar1[1].unk_11 + 1) - gRoomControls.roomScrollY); + } +} + +void sub_0805DA08(u32 x, u32 y, u32 param_3) { + u32 i; + struct BgAffineDstData* affineDstData = &gUnk_02017AA0[gUnk_03003DE4[0] * 0xa0]; + for (i = 0; i < 0xa0; ++i, y += 0x17) { + affineDstData->pa = ((gSineTable[(param_3 + i + y) & 0xff] * x) >> 8) + gScreen.affine.bg3xOffset; + affineDstData = (struct BgAffineDstData*)&affineDstData->pb; + } + sub_0805622C(&gUnk_02017AA0[gUnk_03003DE4[0] * 0xa0], 0x400001c, 0xa2600001); +} + +void sub_0805DA90(Manager32* this, u32 param_2) { + Manager* manager = GetEmptyManager(); + if (manager != NULL) { + manager->type = 9; + manager->subtype = 0x32; + manager->unk_0a = param_2; + manager->parent = &this->manager; + AppendEntityToList((Entity*)manager, 8); + } + if (gArea.unk3 != 0) { + gScreen.lcd.displayControl &= 0xf7ff; + sub_080528F0(); + DeleteManager((Manager*)gArea.unk3); + } +} diff --git a/src/manager/manager33.c b/src/manager/manager33.c index b284a1b5..3ed92fc2 100644 --- a/src/manager/manager33.c +++ b/src/manager/manager33.c @@ -11,10 +11,7 @@ void Manager33_Main(Manager* this) { u32 b = roomControls->roomOriginY + 0x140; u32 y = (b - gPlayerEntity.y.HALF.HI) + 0x10; if (this->action == 0) { - if (x < 0x20 && - y < 0x20 && - gPlayerEntity.height.HALF.HI < -0x18 && - gPlayerState.field_0xa8 == 0x14) { + if (x < 0x20 && y < 0x20 && gPlayerEntity.height.HALF.HI < -0x18 && gPlayerState.field_0xa8 == 0x14) { this->action += 1; this->unk_0e = 0x5a; SoundReq(SFX_10A); diff --git a/src/manager/manager34.c b/src/manager/manager34.c index be0c7921..77e9dee4 100644 --- a/src/manager/manager34.c +++ b/src/manager/manager34.c @@ -48,7 +48,7 @@ void sub_0805DBF0(Manager34* this) { if (this->field_0x20 < 0x78) { if ((this->field_0x20 & 0xf) == 0) { - SoundReq(SFX_126); + SoundReq(SFX_126); } } else if (0xd1 >= this->field_0x20) { if ((this->field_0x20 & 0x1f) == 0) { diff --git a/src/manager/manager37.c b/src/manager/manager37.c index de139253..f7b56dfa 100644 --- a/src/manager/manager37.c +++ b/src/manager/manager37.c @@ -37,7 +37,7 @@ void sub_0805DE68(Manager* this) { gScreenTransition.field_0x38 = 0; gScreenTransition.field_0x39 = 0x0f; *(u8*)&gScreenTransition.field_0x3a = 0x20; - *((u8*)&gScreenTransition.field_0x3a+1) = 0x20; + *((u8*)&gScreenTransition.field_0x3a + 1) = 0x20; #if !defined(EU) && !defined(JP) && !defined(DEMO_JP) gSave.unk498 = 0x1194; #endif @@ -48,8 +48,8 @@ void sub_0805DEB8(Manager* this) { s32 distY; Entity* object; - distX = gPlayerEntity.x.HALF.HI - (gRoomControls.roomOriginX+0x88); - distY = gPlayerEntity.y.HALF.HI - (gRoomControls.roomOriginY+0x40); + distX = gPlayerEntity.x.HALF.HI - (gRoomControls.roomOriginX + 0x88); + distY = gPlayerEntity.y.HALF.HI - (gRoomControls.roomOriginY + 0x40); if (distX * distX + distY * distY < 0x901) { this->action = 2; this->unk_0d = 0; diff --git a/src/manager/manager7.c b/src/manager/manager7.c index 85e49295..8c7ce57f 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -70,7 +70,7 @@ void Manager7_Main(Manager7* this) { sub_08052D74(this, sub_08057E30, 0); } if (sub_08057E40(this)) { - tmp = gRoomVars.unk_10; + tmp = (u32)gRoomVars.unk_10[0]; if (this->unk_20 != tmp) { this->unk_20 = tmp; this->manager.unk_0e = 0; @@ -109,13 +109,13 @@ void Manager7_Main(Manager7* this) { #endif void sub_08057E30(Manager7* this) { - sub_08057E7C(gRoomVars.unk_10); + sub_08057E7C(gRoomVars.unk_10[0]); } u32 sub_08057E40(Manager7* this) { u32 tmp = sub_08056300(gUnk_08108050); if (tmp != 0xFF) { - gRoomVars.unk_10 = tmp; + gRoomVars.unk_10[0] = tmp; return 1; } else { return 0; @@ -143,6 +143,6 @@ void sub_08057E7C(u32 unk1) { for (tmp = 0; tmp < 8; tmp++, tmp2 += 2) { DmaSet(3, &gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x84000400); } - gRoomVars.unk_10 = unk1; + gRoomVars.unk_10[0] = unk1; } #endif diff --git a/src/manager/manager8.c b/src/manager/manager8.c index 56acfd9a..198cb0e3 100644 --- a/src/manager/manager8.c +++ b/src/manager/manager8.c @@ -30,7 +30,7 @@ void Manager8_Main(Manager8* this) { } void sub_08057EFC(Manager8* this) { - LoadGfxGroup(gRoomVars.unk_10); + LoadGfxGroup((u32)gRoomVars.unk_10[0]); sub_08058034(); this->unk_3c = 0; this->unk_38 = 0; @@ -110,7 +110,7 @@ void sub_080580B0(u32 unk1) { gUnk_0200B650 = 0; REG_DISPCNT = 0; LoadGfxGroup(unk1); - gRoomVars.unk_10 = unk1; + gRoomVars.unk_10[0] = unk1; sub_08058034(); tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2; diff --git a/src/manager/managerF.c b/src/manager/managerF.c deleted file mode 100644 index 3f99ad78..00000000 --- a/src/manager/managerF.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "manager.h" - -ASM_FUNC("asm/non_matching/managerF/ManagerF_Main.inc", void ManagerF_Main()) - -ASM_FUNC("asm/non_matching/managerF/sub_08058EE4.inc", void sub_08058EE4()) - -ASM_FUNC("asm/non_matching/managerF/sub_08058F44.inc", void sub_08058F44()) - -ASM_FUNC("asm/non_matching/managerF/sub_08058F84.inc", void sub_08058F84()) - -ASM_FUNC("asm/non_matching/managerF/sub_08058FB0.inc", void sub_08058FB0()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059064.inc", void sub_08059064()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059094.inc", void sub_08059094()) - -ASM_FUNC("asm/non_matching/managerF/sub_080590E0.inc", void sub_080590E0()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059124.inc", void sub_08059124()) - -ASM_FUNC("asm/non_matching/managerF/sub_080591CC.inc", void sub_080591CC()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059220.inc", void sub_08059220()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059278.inc", void sub_08059278()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059290.inc", void sub_08059290()) - -ASM_FUNC("asm/non_matching/managerF/sub_080592A4.inc", void sub_080592A4()) - -ASM_FUNC("asm/non_matching/managerF/sub_080592EC.inc", void sub_080592EC()) - -ASM_FUNC("asm/non_matching/managerF/sub_0805930C.inc", void sub_0805930C()) - -ASM_FUNC("asm/non_matching/managerF/SetDirtTile.inc", void SetDirtTile()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059368.inc", void sub_08059368()) - -ASM_FUNC("asm/non_matching/managerF/sub_0805938C.inc", void sub_0805938C()) - -ASM_FUNC("asm/non_matching/managerF/sub_080593CC.inc", void sub_080593CC()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059424.inc", void sub_08059424()) - -ASM_FUNC("asm/non_matching/managerF/sub_0805947C.inc", void sub_0805947C()) - -ASM_FUNC("asm/non_matching/managerF/sub_080594DC.inc", void sub_080594DC()) - -ASM_FUNC("asm/non_matching/managerF/sub_08059548.inc", void sub_08059548())