summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/wireless_communication_status_screen.s91
-rw-r--r--src/wireless_communication_status_screen.c22
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);
+}