Match sub_0801AFE4

This commit is contained in:
Tal Hayon 2022-08-15 21:36:29 +03:00
parent 031d37c712
commit 52e3382791
2 changed files with 22 additions and 68 deletions

View File

@ -1,67 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
ldr r3, _0801B018 @ =gMapBottom+0x2004
ldr r0, _0801B01C @ =gRoomControls
ldrh r1, [r0, #0x1e]
lsrs r1, r1, #4
mov sl, r1
ldrh r0, [r0, #0x20]
lsrs r0, r0, #4
mov sb, r0
movs r7, #0
cmp r7, sb
bhs _0801B054
_0801B004:
movs r2, #0
adds r0, r7, #1
mov r8, r0
cmp r2, sl
bhs _0801B046
_0801B00E:
ldr r1, _0801B020 @ =gUnk_080B44D0
adds r4, r3, #1
adds r5, r2, #1
b _0801B026
.align 2, 0
_0801B018: .4byte gMapBottom+0x2004
_0801B01C: .4byte gRoomControls
_0801B020: .4byte gUnk_080B44D0
_0801B024:
adds r1, #4
_0801B026:
ldrh r0, [r1]
cmp r0, #0
beq _0801B03E
ldrb r6, [r3]
cmp r0, r6
bne _0801B024
ldrh r0, [r1, #2]
lsls r1, r7, #6
adds r1, r1, r2
movs r2, #1
bl SetTile
_0801B03E:
adds r3, r4, #0
adds r2, r5, #0
cmp r2, sl
blo _0801B00E
_0801B046:
adds r0, r3, #0
adds r0, #0x40
mov r1, sl
subs r3, r0, r1
mov r7, r8
cmp r7, sb
blo _0801B004
_0801B054:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided

View File

@ -594,7 +594,28 @@ void DeleteLoadedTileEntity(u32 position, s32 layer) {
ptr[t] = ptr[count];
}
ASM_FUNC("asm/non_matching/beanstalkSubtask/sub_0801AFE4.inc", void sub_0801AFE4(void))
void sub_0801AFE4(void) {
const u16* ptr;
u8* collisionData;
u32 x;
u32 y;
u32 width;
u32 height;
collisionData = gMapBottom.collisionData;
width = gRoomControls.width >> 4;
height = gRoomControls.height >> 4;
for (y = 0; y < height; collisionData = collisionData + (0x40 - width), y++) {
for (x = 0; x < width; collisionData++, x++) {
for (ptr = gUnk_080B44D0; ptr[0] != 0; ptr += 2) {
if (ptr[0] == *collisionData) {
SetTile(ptr[1], y * 0x40 + x, 1);
break;
}
}
}
}
}
void UpdateBgAnimations(void) {
bool32 alreadyUploadedGfx = FALSE;