Match SetBGDefaults and sub_080197D4

This commit is contained in:
Tal Hayon 2022-04-23 00:43:35 +03:00
parent a957ee9580
commit 24388f87a1
3 changed files with 5 additions and 83 deletions

View File

@ -1,19 +0,0 @@
.syntax unified
ldr r0, _080197C4 @ =gMapBottom
ldr r1, _080197C8 @ =gBGAffSettings
str r1, [r0]
ldr r2, _080197CC @ =gUnk_080B77C0
ldrh r0, [r2]
strh r0, [r1]
ldr r0, _080197D0 @ =gMapTop
subs r1, #0xc
str r1, [r0]
ldrh r0, [r2, #2]
strh r0, [r1]
bx lr
.align 2, 0
_080197C4: .4byte gMapBottom
_080197C8: .4byte gScreen + 0x20
_080197CC: .4byte gUnk_080B77C0
_080197D0: .4byte gMapTop
.syntax divided

View File

@ -1,54 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
movs r5, #0x80
lsls r5, r5, #0x18
_080197DC:
ldr r3, [r4, #4]
cmp r3, #0
beq _08019824
ldr r1, [r4]
ldr r0, _08019808 @ =0x7FFFFFFF
ands r1, r0
ldr r0, _0801980C @ =gMapData
adds r1, r1, r0
ldr r2, [r4, #8]
adds r0, r2, #0
ands r0, r5
cmp r0, #0
beq _0801981A
lsrs r0, r3, #0x18
cmp r0, #6
bne _08019810
adds r0, r1, #0
adds r1, r3, #0
bl LZ77UnCompVram
b _0801982E
.align 2, 0
_08019808: .4byte 0x7FFFFFFF
_0801980C: .4byte gMapData
_08019810:
adds r0, r1, #0
adds r1, r3, #0
bl LZ77UnCompWram
b _0801982E
_0801981A:
adds r0, r1, #0
adds r1, r3, #0
bl MemCopy
b _0801982E
_08019824:
ldrh r0, [r4]
bl LoadPaletteGroup
bl sub_080533CC
_0801982E:
adds r4, #0xc
adds r0, r4, #0
subs r0, #0xc
ldr r0, [r0]
ands r0, r5
cmp r0, #0
bne _080197DC
pop {r4, r5, pc}
.align 2, 0
.syntax divided

View File

@ -94,18 +94,14 @@ void sub_080197A0(void) {
MenuFadeIn(2, 0xb);
}
NONMATCH("asm/non_matching/beanstalkSubtask/SetBGDefaults.inc", void SetBGDefaults(void)) {
u16* ptr;
BgSettings* bg;
void SetBGDefaults(void) {
gMapBottom.bgControlPtr = (u16*)&gScreen.bg2;
gScreen.bg2.control = gUnk_080B77C0[0];
*gMapBottom.bgControlPtr = gUnk_080B77C0[0];
gMapTop.bgControlPtr = (u16*)&gScreen.bg1;
gScreen.bg1.control = gUnk_080B77C0[1];
*gMapTop.bgControlPtr = gUnk_080B77C0[1];
}
END_NONMATCH
NONMATCH("asm/non_matching/beanstalkSubtask/sub_080197D4.inc", void sub_080197D4(u32* param_1)) {
void sub_080197D4(u32* param_1) {
u32 uVar1;
u8* src;
void* dest;
@ -127,11 +123,10 @@ NONMATCH("asm/non_matching/beanstalkSubtask/sub_080197D4.inc", void sub_080197D4
LoadPaletteGroup((u32) * (u16*)param_1);
sub_080533CC();
}
uVar1 = *param_1;
param_1 += 3;
uVar1 = *(param_1 - 3);
} while ((uVar1 & 0x80000000) != 0);
}
END_NONMATCH
// Has ifdefs for other variants
ASM_FUNC("asm/non_matching/beanstalkSubtask/UpdatePlayerCollision.inc", void UpdatePlayerCollision())