diff options
-rw-r--r-- | asm/wireless_communication_status_screen.s | 91 | ||||
-rw-r--r-- | src/wireless_communication_status_screen.c | 22 |
2 files changed, 22 insertions, 91 deletions
diff --git a/asm/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s index a8e0dce29..a4f58abf8 100644 --- a/asm/wireless_communication_status_screen.s +++ b/asm/wireless_communication_status_screen.s @@ -5,97 +5,6 @@ .text - thumb_func_start sub_814F3A8 -sub_814F3A8: @ 814F3A8 - push {r4,r5,lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, _0814F468 @ =gUnknown_846FAAC - ldr r4, [r5] - movs r0, 0x3 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r3, 0xC0 - subs r3, r0 - lsrs r3, 1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl sub_814F65C - movs r1, 0 -_0814F3F0: - adds r4, r1, 0x1 - lsls r0, r4, 2 - adds r0, r5 - ldr r2, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 25 - movs r1, 0xA0 - lsls r1, 20 - adds r0, r1 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r1, 0x3 - movs r3, 0 - bl sub_814F65C - adds r1, r4, 0 - cmp r4, 0x2 - ble _0814F3F0 - ldr r1, _0814F468 @ =gUnknown_846FAAC - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 25 - movs r1, 0xA0 - lsls r1, 20 - adds r0, r1 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x3 - movs r3, 0 - bl sub_814F65C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814F468: .4byte gUnknown_846FAAC - thumb_func_end sub_814F3A8 - thumb_func_start sub_814F46C sub_814F46C: @ 814F46C push {r4-r7,lr} diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 559ac2ef0..eeb04b4eb 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -37,6 +37,7 @@ extern const u8 gUnknown_841E29E[]; void sub_814F1E4(void); void sub_814F46C(u8 taskId); u8 sub_8116DE0(void); +void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx); const u16 gUnknown_846F4D0[][16] = { INCBIN_U16("graphics/misc/unk_846f4d0.gbapal"), @@ -241,3 +242,24 @@ void sub_814F364(s16 * unk0, s16 * unk1) idx = *unk1 + 2; LoadPalette(gUnknown_846F4D0[idx], 0, 16); } + +void sub_814F3A8(void) +{ + s32 i; + u32 width; + + FillWindowPixelBuffer(0, 0); + FillWindowPixelBuffer(1, 0); + FillWindowPixelBuffer(2, 0); + width = 0xC0 - GetStringWidth(3, gUnknown_846FAAC[0], 0); + sub_814F65C(0, 3, gUnknown_846FAAC[0], width / 2, 6, 3); + for (i = 0; i < 3; i++) + { + sub_814F65C(1, 3, gUnknown_846FAAC[i + 1], 0, 30 * i + 10, 1); + } + sub_814F65C(1, 3, gUnknown_846FAAC[i + 1], 0, 30 * i + 10, 2); + PutWindowTilemap(0); + CopyWindowToVram(0, 2); + PutWindowTilemap(1); + CopyWindowToVram(1, 2); +} |