sub_81051F0

This commit is contained in:
PikalaxALT
2019-12-13 15:15:48 -05:00
parent be8b7a6f13
commit 6ea4a7a40c
2 changed files with 34 additions and 106 deletions
-105
View File
@@ -5,111 +5,6 @@
.text
thumb_func_start sub_81051F0
sub_81051F0: @ 81051F0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x10
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
bl GetBgTilemapBuffer
mov r10, r0
movs r0, 0x2
bl GetBgTilemapBuffer
mov r9, r0
movs r0, 0x3
bl GetBgTilemapBuffer
mov r8, r0
ldr r0, _0810526C @ =gUnknown_203ACF0
ldr r0, [r0]
ldr r0, [r0, 0x5C]
movs r1, 0x80
lsls r1, 5
adds r1, r0, r1
str r1, [sp, 0x4]
movs r1, 0x80
lsls r1, 4
adds r1, r0, r1
str r1, [sp, 0x8]
str r0, [sp, 0xC]
movs r0, 0
str r0, [sp]
ldr r1, _08105270 @ =gUnknown_8452388
movs r7, 0
lsls r0, r4, 4
subs r0, r4
lsls r0, 1
adds r6, r0, r1
_08105242:
ldrb r4, [r6]
cmp r4, 0x1E
bne _08105274
lsrs r4, r7, 24
movs r0, 0
mov r1, r10
adds r2, r4, 0
bl sub_81051D0
movs r0, 0
mov r1, r9
adds r2, r4, 0
bl sub_81051D0
movs r0, 0xC
mov r1, r8
adds r2, r4, 0
bl sub_81051D0
b _0810529A
.align 2, 0
_0810526C: .4byte gUnknown_203ACF0
_08105270: .4byte gUnknown_8452388
_08105274:
lsrs r5, r7, 24
ldr r0, [sp, 0x4]
adds r1, r4, 0
mov r2, r10
adds r3, r5, 0
bl sub_81051AC
ldr r0, [sp, 0x8]
adds r1, r4, 0
mov r2, r9
adds r3, r5, 0
bl sub_81051AC
ldr r0, [sp, 0xC]
adds r1, r4, 0
mov r2, r8
adds r3, r5, 0
bl sub_81051AC
_0810529A:
movs r1, 0x80
lsls r1, 17
adds r7, r1
adds r6, 0x1
ldr r0, [sp]
adds r0, 0x1
str r0, [sp]
cmp r0, 0x1D
ble _08105242
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
movs r0, 0
add sp, 0x10
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_81051F0
thumb_func_start sub_81052D0
sub_81052D0: @ 81052D0
push {r4-r6,lr}
+34 -1
View File
@@ -66,7 +66,7 @@ struct PokedexScreenData
u16 field_48;
u8 filler_4A[0x10];
u16 field_5A;
u8 filler_5C[0x4];
u16 * field_5C;
u8 field_60;
u8 field_61;
u16 field_62;
@@ -158,6 +158,7 @@ extern const struct WindowTemplate gUnknown_84521CC;
extern const u16 gUnknown_845228C[];
extern const u8 (*const gUnknown_8452334[])[4];
extern const u8 *const gUnknown_8452344[];
extern const u8 gUnknown_8452388[][30];
extern const struct ScrollArrowsTemplate gUnknown_84524B4;
extern const struct CursorStruct gUnknown_84524C4;
@@ -1947,3 +1948,35 @@ bool8 sub_81051D0(u16 a0, u16 *a1, u8 a2)
}
return FALSE;
}
bool8 sub_81051F0(u8 a0)
{
int i;
int r4;
u16 *bg1buff = GetBgTilemapBuffer(1);
u16 *bg2buff = GetBgTilemapBuffer(2);
u16 *bg3buff = GetBgTilemapBuffer(3);
u16 *sp04 = gUnknown_203ACF0->field_5C + 0x800;
u16 *sp08 = gUnknown_203ACF0->field_5C + 0x400;
u16 *sp0C = gUnknown_203ACF0->field_5C + 0x000;
for (i = 0; i < 30; i++)
{
r4 = gUnknown_8452388[a0][i];
if (r4 == 30)
{
sub_81051D0(0x000, bg1buff, i);
sub_81051D0(0x000, bg2buff, i);
sub_81051D0(0x00C, bg3buff, i);
}
else
{
sub_81051AC(sp04, r4, bg1buff, i);
sub_81051AC(sp08, r4, bg2buff, i);
sub_81051AC(sp0C, r4, bg3buff, i);
}
}
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3);
return FALSE;
}