diff --git a/asm/non_matching/manager1/sub_08057450.inc b/asm/non_matching/manager1/sub_08057450.inc deleted file mode 100644 index 2ce93081..00000000 --- a/asm/non_matching/manager1/sub_08057450.inc +++ /dev/null @@ -1,102 +0,0 @@ - .syntax unified - push {r4, r5, r6, lr} - adds r3, r0, #0 - ldr r4, _08057504 @ =gScreen - movs r0, #0x10 - strh r0, [r4, #0x2e] - ldr r0, _08057508 @ =gRoomControls - movs r2, #0xc - ldrsh r1, [r0, r2] - ldrh r0, [r0, #8] - subs r1, r1, r0 - asrs r1, r1, #2 - movs r2, #0x3f - adds r0, r1, #0 - ands r0, r2 - strh r0, [r4, #0x30] - cmp r1, #0 - bge _08057474 - adds r1, #0x3f -_08057474: - asrs r0, r1, #6 - lsls r0, r0, #9 - ldr r1, _0805750C @ =gBG3Buffer - adds r1, r0, r1 - str r1, [r4, #0x34] - ldr r0, [r3, #0x34] - cmp r0, r1 - beq _0805748A - str r1, [r3, #0x34] - movs r0, #1 - strh r0, [r4, #0x32] -_0805748A: - adds r0, r3, #0 - adds r0, #0x22 - ldrb r0, [r0] - ldr r5, _08057510 @ =gRoomTransition - cmp r0, #0 - bne _080574BE - ldr r0, [r5] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _080574BE - adds r2, r3, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r2] - ldr r1, _08057514 @ =gUnk_08107C30 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] -_080574BE: - ldr r0, [r5] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08057502 - adds r0, r3, #0 - adds r0, #0x23 - ldrb r1, [r0] - lsls r1, r1, #5 - ldr r2, _08057518 @ =gUnk_085B4180 - adds r1, r1, r2 - movs r5, #0 - adds r6, r0, #0 - adds r4, r1, #0 - adds r4, #0xe -_080574DC: - adds r0, r5, #0 - adds r0, #0x87 - ldrh r1, [r4] - bl SetColor - adds r0, r5, #0 - adds r0, #0x8c - ldrh r1, [r4, #0xa] - bl SetColor - adds r4, #2 - adds r5, #1 - cmp r5, #3 - bls _080574DC - ldrb r0, [r6] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r6] -_08057502: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057504: .4byte gScreen -_08057508: .4byte gRoomControls -_0805750C: .4byte gBG3Buffer -_08057510: .4byte gRoomTransition -_08057514: .4byte gUnk_08107C30 -_08057518: .4byte gUnk_085B4180 - .syntax divided diff --git a/src/manager/manager1.c b/src/manager/manager1.c index 9701738e..8664caab 100644 --- a/src/manager/manager1.c +++ b/src/manager/manager1.c @@ -209,25 +209,15 @@ void sub_080573AC(Entity* this) { } } -NONMATCH("asm/non_matching/manager1/sub_08057450.inc", void sub_08057450(Entity* this)) { +void sub_08057450(Entity* this) { s32 y; - // register s32 temp asm("r2"); - s32 temp; - s32 y2; gScreen.bg3.xOffset = 0x10; y = gRoomControls.scroll_y; y -= gRoomControls.origin_y; y >>= 2; - // Removing temp messes with r1/r2 with regards to y - temp = 0x3f; - gScreen.bg3.yOffset = y & temp; - - if (y < 0) { - y += 0x3f; - } - - gScreen.bg3.tilemap = &gBG3Buffer[(y >> 6) << 8]; + gScreen.bg3.yOffset = y & 0x3f; + gScreen.bg3.tilemap = &gBG3Buffer[(y / 0x40) << 8]; if ((void*)this->z.WORD != gScreen.bg3.tilemap) { this->z.WORD = (u32)gScreen.bg3.tilemap; gScreen.bg3.updated = 1; @@ -250,7 +240,6 @@ NONMATCH("asm/non_matching/manager1/sub_08057450.inc", void sub_08057450(Entity* ZV(this)[3] = (ZV(this)[3] + 1) & 3; } } -END_NONMATCH const u16 gUnk_08107C1C[] = { 0x1000, 0xF01, 0xE02, 0xD03, 0xC04, 0xB05, 0xA06, 0x907, 0x908, 0x909,