through sub_8111D90
This commit is contained in:
-140
@@ -5,146 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8111D10
|
||||
sub_8111D10: @ 8111D10
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x14
|
||||
movs r4, 0
|
||||
movs r1, 0
|
||||
ldr r2, _08111D80 @ =gStringVar4
|
||||
ldrb r0, [r2]
|
||||
ldr r5, _08111D84 @ =gUnknown_203ADFE
|
||||
cmp r0, 0xFF
|
||||
beq _08111D42
|
||||
_08111D22:
|
||||
adds r0, r1, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0xFE
|
||||
bne _08111D30
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
_08111D30:
|
||||
adds r0, r1, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r1, r0, 16
|
||||
cmp r1, 0xFF
|
||||
bhi _08111D42
|
||||
adds r0, r1, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0xFF
|
||||
bne _08111D22
|
||||
_08111D42:
|
||||
ldrb r0, [r5, 0x2]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r5, 0x2]
|
||||
bl sub_8111D90
|
||||
ldrb r0, [r5, 0x2]
|
||||
ldr r1, _08111D88 @ =gUnknown_8456698
|
||||
adds r1, r4, r1
|
||||
ldrb r3, [r1]
|
||||
movs r1, 0x1
|
||||
str r1, [sp]
|
||||
movs r2, 0
|
||||
str r2, [sp, 0x4]
|
||||
ldr r1, _08111D8C @ =gUnknown_8456634
|
||||
str r1, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r1, _08111D80 @ =gStringVar4
|
||||
str r1, [sp, 0x10]
|
||||
movs r1, 0x2
|
||||
movs r2, 0x2
|
||||
bl AddTextPrinterParametrized2
|
||||
movs r0, 0
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
add sp, 0x14
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08111D80: .4byte gStringVar4
|
||||
_08111D84: .4byte gUnknown_203ADFE
|
||||
_08111D88: .4byte gUnknown_8456698
|
||||
_08111D8C: .4byte gUnknown_8456634
|
||||
thumb_func_end sub_8111D10
|
||||
|
||||
thumb_func_start sub_8111D90
|
||||
sub_8111D90: @ 8111D90
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r10, r0
|
||||
ldr r0, _08111DC0 @ =gUnknown_8456638
|
||||
mov r9, r0
|
||||
movs r0, 0xB4
|
||||
lsls r0, 5
|
||||
bl Alloc
|
||||
mov r8, r0
|
||||
cmp r0, 0
|
||||
beq _08111E0C
|
||||
movs r1, 0
|
||||
_08111DB4:
|
||||
cmp r1, 0
|
||||
beq _08111DC4
|
||||
cmp r1, 0x5
|
||||
beq _08111DC8
|
||||
movs r0, 0x1
|
||||
b _08111DCA
|
||||
.align 2, 0
|
||||
_08111DC0: .4byte gUnknown_8456638
|
||||
_08111DC4:
|
||||
movs r0, 0
|
||||
b _08111DCA
|
||||
_08111DC8:
|
||||
movs r0, 0x2
|
||||
_08111DCA:
|
||||
movs r4, 0
|
||||
lsls r6, r0, 5
|
||||
lsls r0, r1, 4
|
||||
adds r7, r1, 0x1
|
||||
subs r0, r1
|
||||
lsls r5, r0, 1
|
||||
_08111DD6:
|
||||
adds r1, r5, r4
|
||||
lsls r1, 5
|
||||
add r1, r8
|
||||
mov r2, r9
|
||||
adds r0, r2, r6
|
||||
ldr r2, _08111E1C @ =0x04000008
|
||||
bl CpuSet
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x1D
|
||||
bls _08111DD6
|
||||
lsls r0, r7, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0x5
|
||||
bls _08111DB4
|
||||
movs r2, 0xB4
|
||||
lsls r2, 5
|
||||
mov r0, r10
|
||||
mov r1, r8
|
||||
movs r3, 0
|
||||
bl CopyToWindowPixelBuffer
|
||||
mov r0, r8
|
||||
bl Free
|
||||
_08111E0C:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08111E1C: .4byte 0x04000008
|
||||
thumb_func_end sub_8111D90
|
||||
|
||||
thumb_func_start sub_8111E20
|
||||
sub_8111E20: @ 8111E20
|
||||
push {r4,lr}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
换换烫烫��������������������������������������������������������������������������������烫烫换换
|
||||
@@ -1,12 +1,6 @@
|
||||
.section .rodata
|
||||
|
||||
.align 2, 0
|
||||
gUnknown_8456638:: @ 8456638
|
||||
.incbin "baserom.gba", 0x456638, 0x60
|
||||
|
||||
gUnknown_8456698:: @ 8456698
|
||||
.incbin "baserom.gba", 0x456698, 0x4
|
||||
|
||||
gUnknown_845669C:: @ 845669C
|
||||
.incbin "baserom.gba", 0x45669C, 0x8
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ void sub_8111AD8(void);
|
||||
void sub_8111B80(void);
|
||||
u8 sub_8111BD4(void);
|
||||
void sub_8111D10(void);
|
||||
void sub_8111D90(u8);
|
||||
void sub_8111E20(void);
|
||||
void sub_8111E64(s8);
|
||||
bool8 sub_8111F60(void);
|
||||
@@ -111,6 +112,10 @@ const struct WindowTemplate gUnknown_845661C[3] = {
|
||||
|
||||
const struct TextColor gUnknown_8456634 = {15, 1, 12};
|
||||
|
||||
const u16 gUnknown_8456638[] = INCBIN_U16("data/graphics/unknown_8456638.bin");
|
||||
|
||||
const u8 gUnknown_8456698[] = {17, 10, 3};
|
||||
|
||||
void sub_8110840(void * a0)
|
||||
{
|
||||
size_t r1 = (void *)gSaveBlock1Ptr - a0;
|
||||
@@ -1099,3 +1104,57 @@ void sub_8111CF0(void)
|
||||
if (gUnknown_203ADFA == 2)
|
||||
sub_8111070(gUnknown_203ADF9);
|
||||
}
|
||||
|
||||
void sub_8111D10(void)
|
||||
{
|
||||
u16 i;
|
||||
u8 count = 0;
|
||||
|
||||
for (i = 0; i < 0x100 && gStringVar4[i] != EOS; i++)
|
||||
{
|
||||
if (gStringVar4[i] == CHAR_NEWLINE)
|
||||
count++;
|
||||
}
|
||||
|
||||
PutWindowTilemap(gUnknown_203ADFE[2]);
|
||||
sub_8111D90(gUnknown_203ADFE[2]);
|
||||
AddTextPrinterParametrized2(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
}
|
||||
|
||||
void sub_8111D90(u8 a0)
|
||||
{
|
||||
const u16 * src = gUnknown_8456638;
|
||||
u16 * buffer = Alloc(0x1680);
|
||||
u8 i, j, y;
|
||||
|
||||
if (buffer)
|
||||
{
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
default:
|
||||
y = 1;
|
||||
break;
|
||||
case 0:
|
||||
y = 0;
|
||||
break;
|
||||
case 5:
|
||||
y = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
// r6 = y * 32
|
||||
// r5 = 2 * (i % 16)
|
||||
// r4 = j
|
||||
for (j = 0; j < 30; j++)
|
||||
{
|
||||
CpuCopy32(src + 16 * y, buffer + 16 * (2 * (15 * i) + j), 32);
|
||||
}
|
||||
}
|
||||
|
||||
CopyToWindowPixelBuffer(a0, (const u8 *)buffer, 0x1680, 0);
|
||||
Free(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user