through sub_81298F8

This commit is contained in:
PikalaxALT
2020-01-25 08:52:18 -05:00
parent 70e7f464ca
commit c99246fccf
5 changed files with 342 additions and 779 deletions
+6 -766
View File
@@ -5,766 +5,6 @@
.text
thumb_func_start sub_8129568
sub_8129568: @ 8129568
push {r4,lr}
adds r4, r0, 0
movs r0, 0x2
strb r0, [r4]
adds r0, r4, 0x1
ldr r1, _08129588 @ =gSaveBlock2Ptr
ldr r1, [r1]
bl StringCopy
ldr r0, _0812958C @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x13]
strb r0, [r4, 0x9]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08129588: .4byte gSaveBlock2Ptr
_0812958C: .4byte gUnknown_203B0E0
thumb_func_end sub_8129568
thumb_func_start sub_8129590
sub_8129590: @ 8129590
push {r4,lr}
adds r4, r0, 0
movs r0, 0x1
strb r0, [r4]
adds r0, r4, 0x1
ldr r1, _081295B8 @ =gSaveBlock2Ptr
ldr r1, [r1]
bl StringCopy
adds r4, 0x9
ldr r0, _081295BC @ =gUnknown_203B0E0
ldr r1, [r0]
adds r1, 0x1A
adds r0, r4, 0
bl StringCopy
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081295B8: .4byte gSaveBlock2Ptr
_081295BC: .4byte gUnknown_203B0E0
thumb_func_end sub_8129590
thumb_func_start sub_81295C0
sub_81295C0: @ 81295C0
push {r4,lr}
adds r4, r0, 0
movs r0, 0x3
strb r0, [r4]
adds r0, r4, 0x1
ldr r1, _081295E4 @ =gSaveBlock2Ptr
ldr r1, [r1]
bl StringCopy
ldr r0, _081295E8 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x13]
strb r0, [r4, 0x9]
bl sub_80FB9D0
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081295E4: .4byte gSaveBlock2Ptr
_081295E8: .4byte gUnknown_203B0E0
thumb_func_end sub_81295C0
thumb_func_start sub_81295EC
sub_81295EC: @ 81295EC
push {r4,lr}
adds r4, r0, 0
movs r0, 0x4
strb r0, [r4]
adds r0, r4, 0x1
ldr r1, _0812960C @ =gSaveBlock2Ptr
ldr r1, [r1]
bl StringCopy
ldr r0, _08129610 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x13]
strb r0, [r4, 0x9]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0812960C: .4byte gSaveBlock2Ptr
_08129610: .4byte gUnknown_203B0E0
thumb_func_end sub_81295EC
thumb_func_start sub_8129614
sub_8129614: @ 8129614
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
strb r0, [r4]
adds r0, r4, 0x1
ldr r1, _08129634 @ =gSaveBlock2Ptr
ldr r1, [r1]
bl StringCopy
ldr r0, _08129638 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x13]
strb r0, [r4, 0x9]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08129634: .4byte gSaveBlock2Ptr
_08129638: .4byte gUnknown_203B0E0
thumb_func_end sub_8129614
thumb_func_start sub_812963C
sub_812963C: @ 812963C
push {r4-r6,lr}
adds r6, r0, 0
adds r5, r1, 0
ldrb r0, [r5]
adds r1, r0, 0
adds r4, r5, 0x1
adds r5, r4, 0
adds r5, 0x8
cmp r0, 0x2
beq _08129664
cmp r0, 0x2
bgt _0812965A
cmp r0, 0x1
beq _08129688
b _081296EC
_0812965A:
cmp r1, 0x3
beq _081296BE
cmp r1, 0x5
beq _081296B2
b _081296EC
_08129664:
ldr r0, _08129680 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x13]
ldrb r1, [r4, 0x8]
cmp r0, r1
beq _081296EC
bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, _08129684 @ =gUnknown_841B3AA
b _081296D8
.align 2, 0
_08129680: .4byte gUnknown_203B0E0
_08129684: .4byte gUnknown_841B3AA
_08129688:
adds r0, r6, 0
adds r1, r4, 0
bl StringCopy
movs r1, 0xFC
strb r1, [r0]
adds r0, 0x1
movs r1, 0x13
strb r1, [r0]
adds r0, 0x1
movs r1, 0x2A
strb r1, [r0]
adds r0, 0x1
movs r1, 0xF0
strb r1, [r0]
adds r0, 0x1
adds r1, r5, 0
bl StringCopy
movs r0, 0x1
b _081296EE
_081296B2:
ldr r0, _081296E4 @ =gUnknown_203B0E0
ldr r0, [r0]
adds r0, 0x79
adds r1, r4, 0
bl StringCopy
_081296BE:
ldr r0, _081296E4 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x13]
ldrb r5, [r5]
cmp r0, r5
beq _081296EC
bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, _081296E8 @ =gUnknown_841B3BE
_081296D8:
adds r0, r6, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
b _081296EE
.align 2, 0
_081296E4: .4byte gUnknown_203B0E0
_081296E8: .4byte gUnknown_841B3BE
_081296EC:
movs r0, 0
_081296EE:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_812963C
thumb_func_start sub_81296F4
sub_81296F4: @ 81296F4
ldr r0, _081296FC @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x10]
bx lr
.align 2, 0
_081296FC: .4byte gUnknown_203B0E0
thumb_func_end sub_81296F4
thumb_func_start sub_8129700
sub_8129700: @ 8129700
ldr r2, _08129710 @ =gUnknown_203B0E0
ldr r3, [r2]
ldrb r2, [r3, 0x11]
strb r2, [r0]
ldrb r0, [r3, 0x12]
strb r0, [r1]
bx lr
.align 2, 0
_08129710: .4byte gUnknown_203B0E0
thumb_func_end sub_8129700
thumb_func_start sub_8129714
sub_8129714: @ 8129714
ldr r0, _0812971C @ =gUnknown_203B0E0
ldr r0, [r0]
adds r0, 0x1A
bx lr
.align 2, 0
_0812971C: .4byte gUnknown_203B0E0
thumb_func_end sub_8129714
thumb_func_start sub_8129720
sub_8129720: @ 8129720
push {lr}
bl sub_8129714
bl StringLength_Multibyte
pop {r1}
bx r1
thumb_func_end sub_8129720
thumb_func_start sub_8129730
sub_8129730: @ 8129730
push {r4,lr}
adds r4, r0, 0
ldr r0, _08129748 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r3, [r0, 0x15]
ldrb r2, [r0, 0x14]
subs r0, r3, r2
cmp r0, 0
bge _0812974C
negs r0, r0
str r3, [r4]
b _0812974E
.align 2, 0
_08129748: .4byte gUnknown_203B0E0
_0812974C:
str r2, [r4]
_0812974E:
str r0, [r1]
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8129730
thumb_func_start sub_8129758
sub_8129758: @ 8129758
push {lr}
bl sub_812951C
lsls r0, 16
lsrs r2, r0, 16
ldr r0, _08129784 @ =gUnknown_203B0E0
ldr r0, [r0]
adds r1, r0, 0
adds r1, 0x1A
cmp r2, 0
beq _0812977E
_0812976E:
ldrb r0, [r1]
cmp r0, 0xF9
bne _08129776
adds r1, 0x1
_08129776:
adds r1, 0x1
subs r2, 0x1
cmp r2, 0
bne _0812976E
_0812977E:
adds r0, r1, 0
pop {r1}
bx r1
.align 2, 0
_08129784: .4byte gUnknown_203B0E0
thumb_func_end sub_8129758
thumb_func_start sub_8129788
sub_8129788: @ 8129788
push {r4,lr}
bl sub_812951C
lsls r0, 16
lsrs r4, r0, 16
ldr r0, _081297C0 @ =gUnknown_203B0E0
ldr r0, [r0]
adds r1, r0, 0
adds r1, 0x1A
movs r2, 0
movs r3, 0
cmp r2, r4
bcs _081297B8
_081297A2:
ldrb r0, [r1]
cmp r0, 0xF9
bne _081297AA
adds r1, 0x1
_081297AA:
adds r1, 0x1
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
adds r3, 0x1
cmp r3, r4
bcc _081297A2
_081297B8:
adds r0, r2, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_081297C0: .4byte gUnknown_203B0E0
thumb_func_end sub_8129788
thumb_func_start sub_81297C4
sub_81297C4: @ 81297C4
ldr r0, _081297CC @ =gUnknown_203B0E0
ldr r0, [r0]
adds r0, 0x39
bx lr
.align 2, 0
_081297CC: .4byte gUnknown_203B0E0
thumb_func_end sub_81297C4
thumb_func_start sub_81297D0
sub_81297D0: @ 81297D0
ldr r0, _081297D8 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x16]
bx lr
.align 2, 0
_081297D8: .4byte gUnknown_203B0E0
thumb_func_end sub_81297D0
thumb_func_start sub_81297DC
sub_81297DC: @ 81297DC
ldr r0, _081297E4 @ =gUnknown_203B0E0
ldr r0, [r0]
ldrb r0, [r0, 0x15]
bx lr
.align 2, 0
_081297E4: .4byte gUnknown_203B0E0
thumb_func_end sub_81297DC
thumb_func_start sub_81297E8
sub_81297E8: @ 81297E8
push {lr}
bl sub_81294EC
ldrb r1, [r0]
cmp r1, 0xFF
bhi _08129802
ldr r0, _08129808 @ =gUnknown_845A8AC
adds r0, r1, r0
ldrb r0, [r0]
cmp r0, r1
beq _08129802
cmp r0, 0
bne _0812980C
_08129802:
movs r0, 0x3
b _0812980E
.align 2, 0
_08129808: .4byte gUnknown_845A8AC
_0812980C:
movs r0, 0
_0812980E:
pop {r1}
bx r1
thumb_func_end sub_81297E8
thumb_func_start sub_8129814
sub_8129814: @ 8129814
ldr r0, _0812981C @ =gUnknown_203B0E0
ldr r0, [r0]
adds r0, 0x79
bx lr
.align 2, 0
_0812981C: .4byte gUnknown_203B0E0
thumb_func_end sub_8129814
thumb_func_start copy_strings_to_sav1
copy_strings_to_sav1: @ 8129820
push {r4,lr}
ldr r4, _081298A4 @ =gSaveBlock1Ptr
ldr r0, [r4]
ldr r1, _081298A8 @ =0x00003ad4
adds r0, r1
ldr r1, _081298AC @ =gUnknown_841B510
bl StringCopy
ldr r0, [r4]
ldr r1, _081298B0 @ =0x00003ae9
adds r0, r1
ldr r1, _081298B4 @ =gUnknown_841B516
bl StringCopy
ldr r0, [r4]
ldr r1, _081298B8 @ =0x00003afe
adds r0, r1
ldr r1, _081298BC @ =gUnknown_841B51E
bl StringCopy
ldr r0, [r4]
ldr r1, _081298C0 @ =0x00003b13
adds r0, r1
ldr r1, _081298C4 @ =gUnknown_841B524
bl StringCopy
ldr r0, [r4]
ldr r1, _081298C8 @ =0x00003b28
adds r0, r1
ldr r1, _081298CC @ =gUnknown_841B52B
bl StringCopy
ldr r0, [r4]
ldr r1, _081298D0 @ =0x00003b3d
adds r0, r1
ldr r1, _081298D4 @ =gUnknown_841B531
bl StringCopy
ldr r0, [r4]
ldr r1, _081298D8 @ =0x00003b52
adds r0, r1
ldr r1, _081298DC @ =gUnknown_841B535
bl StringCopy
ldr r0, [r4]
ldr r1, _081298E0 @ =0x00003b67
adds r0, r1
ldr r1, _081298E4 @ =gUnknown_841B53B
bl StringCopy
ldr r0, [r4]
ldr r1, _081298E8 @ =0x00003b7c
adds r0, r1
ldr r1, _081298EC @ =gUnknown_841B541
bl StringCopy
ldr r0, [r4]
ldr r1, _081298F0 @ =0x00003b91
adds r0, r1
ldr r1, _081298F4 @ =gUnknown_841B54B
bl StringCopy
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081298A4: .4byte gSaveBlock1Ptr
_081298A8: .4byte 0x00003ad4
_081298AC: .4byte gUnknown_841B510
_081298B0: .4byte 0x00003ae9
_081298B4: .4byte gUnknown_841B516
_081298B8: .4byte 0x00003afe
_081298BC: .4byte gUnknown_841B51E
_081298C0: .4byte 0x00003b13
_081298C4: .4byte gUnknown_841B524
_081298C8: .4byte 0x00003b28
_081298CC: .4byte gUnknown_841B52B
_081298D0: .4byte 0x00003b3d
_081298D4: .4byte gUnknown_841B531
_081298D8: .4byte 0x00003b52
_081298DC: .4byte gUnknown_841B535
_081298E0: .4byte 0x00003b67
_081298E4: .4byte gUnknown_841B53B
_081298E8: .4byte 0x00003b7c
_081298EC: .4byte gUnknown_841B541
_081298F0: .4byte 0x00003b91
_081298F4: .4byte gUnknown_841B54B
thumb_func_end copy_strings_to_sav1
thumb_func_start sub_81298F8
sub_81298F8: @ 81298F8
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _0812991C @ =gTasks+0x8
adds r4, r0, r1
movs r1, 0
ldrsh r0, [r4, r1]
cmp r0, 0x7
bls _08129912
b _08129B08
_08129912:
lsls r0, 2
ldr r1, _08129920 @ =_08129924
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0812991C: .4byte gTasks+0x8
_08129920: .4byte _08129924
.align 2, 0
_08129924:
.4byte _08129944
.4byte _08129952
.4byte _08129AEC
.4byte _081299A0
.4byte _08129A8C
.4byte _08129AC4
.4byte _08129AD8
.4byte _08129A7C
_08129944:
ldr r0, _08129978 @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
bne _0812994E
b _08129AE0
_0812994E:
movs r0, 0x1
strh r0, [r4]
_08129952:
bl GetLinkPlayerCount
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
strh r0, [r4, 0x8]
ldr r3, _0812997C @ =gUnknown_203B0E0
ldr r0, [r3]
ldrb r1, [r0, 0xD]
movs r5, 0x8
ldrsh r0, [r4, r5]
cmp r1, r0
beq _08129980
movs r0, 0x2
strh r0, [r4]
ldr r0, [r3]
strb r2, [r0, 0xD]
b _08129B08
.align 2, 0
_08129978: .4byte gReceivedRemoteLinkPlayers
_0812997C: .4byte gUnknown_203B0E0
_08129980:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x6]
cmp r0, 0
bne _08129998
bl sub_80FBA1C
cmp r0, 0
beq _08129998
b _08129B08
_08129998:
movs r0, 0
strh r0, [r4, 0x2]
movs r0, 0x3
strh r0, [r4]
_081299A0:
movs r1, 0x2
ldrsh r0, [r4, r1]
cmp r0, 0x4
bgt _081299DA
movs r2, 0x6
ldrsh r0, [r4, r2]
movs r3, 0x2
ldrsh r1, [r4, r3]
asrs r0, r1
movs r1, 0x1
ands r0, r1
cmp r0, 0
bne _081299DA
movs r2, 0x1
_081299BC:
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
lsls r0, 16
asrs r0, 16
cmp r0, 0x4
bgt _081299DA
movs r5, 0x6
ldrsh r0, [r4, r5]
movs r3, 0x2
ldrsh r1, [r4, r3]
asrs r0, r1
ands r0, r2
cmp r0, 0
beq _081299BC
_081299DA:
ldrh r1, [r4, 0x2]
movs r5, 0x2
ldrsh r0, [r4, r5]
cmp r0, 0x5
bne _081299E6
b _08129B04
_081299E6:
strh r1, [r4, 0x4]
lsls r0, r1, 24
lsrs r0, 24
bl ResetBlockReceivedFlag
movs r1, 0x2
ldrsh r0, [r4, r1]
lsls r0, 8
ldr r1, _08129A0C @ =gBlockRecvBuffer
adds r0, r1
ldrb r0, [r0]
subs r0, 0x1
cmp r0, 0x4
bhi _08129A28
lsls r0, 2
ldr r1, _08129A10 @ =_08129A14
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08129A0C: .4byte gBlockRecvBuffer
_08129A10: .4byte _08129A14
.align 2, 0
_08129A14:
.4byte _08129A28
.4byte _08129A2C
.4byte _08129A30
.4byte _08129A34
.4byte _08129A38
_08129A28:
movs r0, 0x3
b _08129A3A
_08129A2C:
movs r0, 0x3
b _08129A3A
_08129A30:
movs r0, 0x4
b _08129A3A
_08129A34:
movs r0, 0x5
b _08129A3A
_08129A38:
movs r0, 0x6
_08129A3A:
strh r0, [r4, 0xA]
ldr r5, _08129A68 @ =gUnknown_203B0E0
ldr r0, [r5]
adds r0, 0x39
movs r2, 0x2
ldrsh r1, [r4, r2]
lsls r1, 8
ldr r2, _08129A6C @ =gBlockRecvBuffer
adds r1, r2
bl sub_812963C
cmp r0, 0
beq _08129A70
ldr r0, [r5]
ldrh r1, [r4, 0x2]
strb r1, [r0, 0x16]
movs r0, 0xC
movs r1, 0x2
bl sub_8129C34
movs r0, 0x7
b _08129A72
.align 2, 0
_08129A68: .4byte gUnknown_203B0E0
_08129A6C: .4byte gBlockRecvBuffer
_08129A70:
ldrh r0, [r4, 0xA]
_08129A72:
strh r0, [r4]
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
b _08129B08
_08129A7C:
movs r0, 0x2
bl sub_8129C8C
lsls r0, 24
cmp r0, 0
bne _08129B08
ldrh r0, [r4, 0xA]
b _08129B06
_08129A8C:
ldr r6, _08129AB4 @ =gUnknown_203B0E0
ldr r0, [r6]
ldrb r0, [r0, 0x13]
cmp r0, 0
bne _08129AC0
movs r3, 0x4
ldrsh r0, [r4, r3]
cmp r0, 0
beq _08129AC0
bl GetLinkPlayerCount
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _08129AB8
bl sub_80FA4A8
ldr r1, [r6]
movs r0, 0x1
b _08129ADE
.align 2, 0
_08129AB4: .4byte gUnknown_203B0E0
_08129AB8:
movs r5, 0x4
ldrsh r0, [r4, r5]
bl sub_80FBD6C
_08129AC0:
movs r0, 0x3
b _08129B06
_08129AC4:
ldr r0, _08129AD4 @ =gUnknown_203B0E0
ldr r1, [r0]
ldrb r0, [r1, 0x13]
cmp r0, 0
beq _08129AE0
movs r0, 0x2
b _08129ADE
.align 2, 0
_08129AD4: .4byte gUnknown_203B0E0
_08129AD8:
ldr r0, _08129AE8 @ =gUnknown_203B0E0
ldr r1, [r0]
movs r0, 0x3
_08129ADE:
strb r0, [r1, 0x17]
_08129AE0:
adds r0, r5, 0
bl DestroyTask
b _08129B08
.align 2, 0
_08129AE8: .4byte gUnknown_203B0E0
_08129AEC:
bl sub_80FBA1C
cmp r0, 0
bne _08129B08
ldr r0, _08129B10 @ =gUnknown_203B0E0
ldr r1, [r0]
ldrb r0, [r1, 0x13]
cmp r0, 0
bne _08129B04
ldrb r0, [r1, 0xD]
bl sub_80FB030
_08129B04:
movs r0, 0x1
_08129B06:
strh r0, [r4]
_08129B08:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08129B10: .4byte gUnknown_203B0E0
thumb_func_end sub_81298F8
thumb_func_start sub_8129B14
sub_8129B14: @ 8129B14
push {r4,lr}
@@ -2497,7 +1737,7 @@ sub_812A804: @ 812A804
movs r0, 0x2
movs r1, 0xFF
bl FillWindowPixelBuffer
bl sub_81296F4
bl GetCurrentKeyboardPage
lsls r0, 24
lsrs r2, r0, 24
add r1, sp, 0xC
@@ -2774,7 +2014,7 @@ sub_812AA10: @ 812AA10
movs r2, 0xE
movs r3, 0x5
bl UnionRoomAndTradeMenuPrintOptions
bl sub_81296F4
bl GetCurrentKeyboardPage
lsls r0, 24
lsrs r0, 24
movs r1, 0xE
@@ -3388,7 +2628,7 @@ _0812AF18: .4byte gUnknown_203B0E8
sub_812AF1C: @ 812AF1C
push {r4,r5,lr}
sub sp, 0x4
bl sub_81296F4
bl GetCurrentKeyboardPage
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3470,7 +2710,7 @@ _0812AFBC: .4byte 0x01010000
thumb_func_start sub_812AFC0
sub_812AFC0: @ 812AFC0
push {lr}
bl sub_81296F4
bl GetCurrentKeyboardPage
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -3520,7 +2760,7 @@ _0812B010:
lsrs r0, 16
cmp r0, 0x3
bls _0812B040
bl sub_81296F4
bl GetCurrentKeyboardPage
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -3692,7 +2932,7 @@ _0812B15C: .4byte gUnknown_845B068
thumb_func_start sub_812B160
sub_812B160: @ 812B160
push {r4,lr}
bl sub_81296F4
bl GetCurrentKeyboardPage
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
+12 -12
View File
@@ -3123,10 +3123,10 @@ gUnknown_841B38A:: @ 0x841B38A
gUnknown_841B39E:: @ 0x841B39E
.string "Input text.$"
gUnknown_841B3AA:: @ 841B3AA
gText_F700JoinedChat:: @ 841B3AA
.string "{DYNAMIC 0x00} joined the chat!$"
gUnknown_841B3BE:: @ 841B3BE
gText_F700LeftChat:: @ 841B3BE
.string "{DYNAMIC 0x00} left the chat.$"
gUnknown_841B3D0:: @ 0x841B3D0
@@ -3161,34 +3161,34 @@ gUnknown_841B4D9:: @ 0x841B4D9
.string "If the LEADER leaves, the chat\n"
.string "will end. Is that okay?$"
gUnknown_841B510:: @ 841B510
gText_Hello:: @ 841B510
.string "HELLO$"
gUnknown_841B516:: @ 841B516
gText_Pokemon2:: @ 841B516
.string "POKéMON$"
gUnknown_841B51E:: @ 841B51E
gText_Trade:: @ 841B51E
.string "TRADE$"
gUnknown_841B524:: @ 841B524
gText_Battle:: @ 841B524
.string "BATTLE$"
gUnknown_841B52B:: @ 841B52B
gText_Lets:: @ 841B52B
.string "LET'S$"
gUnknown_841B531:: @ 841B531
gText_Ok:: @ 841B531
.string "OK!$"
gUnknown_841B535:: @ 841B535
gText_Sorry:: @ 841B535
.string "SORRY$"
gUnknown_841B53B:: @ 841B53B
gText_YaySmileEmoji:: @ 841B53B
.string "YAY{EXTRA 0xF9}$"
gUnknown_841B541:: @ 841B541
gText_ThankYou:: @ 841B541
.string "THANK YOU$"
gUnknown_841B54B:: @ 841B54B
gText_ByeBye:: @ 841B54B
.string "BYE-BYE!$"
gUnknown_841B554:: @ 841B554
+2
View File
@@ -327,6 +327,8 @@ bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx);
bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx);
bool32 sub_80FBA1C(void);
void sub_80FA4A8(void);
void sub_80FB9D0(void);
void sub_80FB030(u32 a0);
#include "mevent_server.h"
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
+14
View File
@@ -1061,4 +1061,18 @@ extern const u8 gText_CommStandbyAwaitingOtherPlayer[];
extern const u8 gText_RefusedBattle[];
extern const u8 gText_BattleWasRefused[];
// union_room_chat
extern const u8 gText_F700JoinedChat[];
extern const u8 gText_F700LeftChat[];
extern const u8 gText_Hello[];
extern const u8 gText_Pokemon2[];
extern const u8 gText_Trade[];
extern const u8 gText_Battle[];
extern const u8 gText_Lets[];
extern const u8 gText_Ok[];
extern const u8 gText_Sorry[];
extern const u8 gText_YaySmileEmoji[];
extern const u8 gText_ThankYou[];
extern const u8 gText_ByeBye[];
#endif //GUARD_STRINGS_H
+308 -1
View File
@@ -1,5 +1,6 @@
#include "global.h"
#include "gflib.h"
#include "dynamic_placeholder_text_util.h"
#include "help_system.h"
#include "link.h"
#include "link_rfu.h"
@@ -10,6 +11,7 @@
#include "quest_log.h"
#include "save.h"
#include "scanline_effect.h"
#include "strings.h"
#include "task.h"
#include "data_8479668.h"
#include "constants/songs.h"
@@ -1110,5 +1112,310 @@ u16 sub_812951C(void)
void sub_8129560(u8 *arg0)
{
arg0[0] = CHAR_SPACE;
arg0[0] = 0;
}
void sub_8129568(u8 *arg0)
{
arg0[0] = 2;
StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_203B0E0->unk13;
}
void sub_8129590(u8 *arg0)
{
arg0[0] = 1;
StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
StringCopy(&arg0[1 + (PLAYER_NAME_LENGTH + 1)], gUnknown_203B0E0->unk1A);
}
void sub_81295C0(u8 *arg0)
{
arg0[0] = 3;
StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_203B0E0->unk13;
sub_80FB9D0();
}
void sub_81295EC(u8 *arg0)
{
arg0[0] = 4;
StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_203B0E0->unk13;
}
void sub_8129614(u8 *arg0)
{
arg0[0] = 5;
StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
arg0[1 + (PLAYER_NAME_LENGTH + 1)] = gUnknown_203B0E0->unk13;
}
bool32 sub_812963C(u8 *arg0, u8 *arg1)
{
u8 *tempStr;
u8 var0 = *arg1;
u8 *str = arg1 + 1;
arg1 = str;
arg1 += 8;
switch (var0)
{
case 2:
if (gUnknown_203B0E0->unk13 != str[8])
{
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
DynamicPlaceholderTextUtil_ExpandPlaceholders(arg0, gText_F700JoinedChat);
return TRUE;
}
break;
case 1:
tempStr = StringCopy(arg0, str);
*(tempStr++) = EXT_CTRL_CODE_BEGIN;
*(tempStr++) = EXT_CTRL_CODE_CLEAR_TO;
*(tempStr++) = 42;
*(tempStr++) = CHAR_COLON;
StringCopy(tempStr, arg1);
return TRUE;
case 5:
StringCopy(gUnknown_203B0E0->unk79, str);
// fall through
case 3:
if (gUnknown_203B0E0->unk13 != *arg1)
{
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
DynamicPlaceholderTextUtil_ExpandPlaceholders(arg0, gText_F700LeftChat);
return TRUE;
}
break;
}
return FALSE;
}
u8 GetCurrentKeyboardPage(void)
{
return gUnknown_203B0E0->currentPage;
}
void sub_8129700(u8 *arg0, u8 *arg1)
{
*arg0 = gUnknown_203B0E0->unk11;
*arg1 = gUnknown_203B0E0->currentRow;
}
u8 *sub_8129714(void)
{
return gUnknown_203B0E0->unk1A;
}
int sub_8129720(void)
{
u8 *str = sub_8129714();
return StringLength_Multibyte(str);
}
void sub_8129730(u32 *arg0, u32 *arg1)
{
int diff = gUnknown_203B0E0->unk15 - gUnknown_203B0E0->unk14;
if (diff < 0)
{
diff *= -1;
*arg0 = gUnknown_203B0E0->unk15;
}
else
{
*arg0 = gUnknown_203B0E0->unk14;
}
*arg1 = diff;
}
u8 *sub_8129758(void)
{
int i;
u16 numChars = sub_812951C();
u8 *str = gUnknown_203B0E0->unk1A;
for (i = 0; i < numChars; i++)
{
if (*str == CHAR_EXTRA_EMOJI)
str++;
str++;
}
return str;
}
u16 sub_8129788(void)
{
u16 count;
u32 i;
u16 numChars = sub_812951C();
u8 *str = gUnknown_203B0E0->unk1A;
for (count = 0, i = 0; i < numChars; count++, i++)
{
if (*str == CHAR_EXTRA_EMOJI)
str++;
str++;
}
return count;
}
u8 *sub_81297C4(void)
{
return gUnknown_203B0E0->unk39;
}
u8 sub_81297D0(void)
{
return gUnknown_203B0E0->unk16;
}
int sub_81297DC(void)
{
return gUnknown_203B0E0->unk15;
}
int sub_81297E8(void)
{
u8 *str = sub_81294EC();
u32 character = *str;
if (character > 0xFF || gUnknown_845A8AC[character] == character || gUnknown_845A8AC[character] == 0)
return 3;
else
return 0;
}
u8 *sub_8129814(void)
{
return gUnknown_203B0E0->unk79;
}
void copy_strings_to_sav1(void)
{
StringCopy(gSaveBlock1Ptr->unk3AD4[0], gText_Hello);
StringCopy(gSaveBlock1Ptr->unk3AD4[1], gText_Pokemon2);
StringCopy(gSaveBlock1Ptr->unk3AD4[2], gText_Trade);
StringCopy(gSaveBlock1Ptr->unk3AD4[3], gText_Battle);
StringCopy(gSaveBlock1Ptr->unk3AD4[4], gText_Lets);
StringCopy(gSaveBlock1Ptr->unk3AD4[5], gText_Ok);
StringCopy(gSaveBlock1Ptr->unk3AD4[6], gText_Sorry);
StringCopy(gSaveBlock1Ptr->unk3AD4[7], gText_YaySmileEmoji);
StringCopy(gSaveBlock1Ptr->unk3AD4[8], gText_ThankYou);
StringCopy(gSaveBlock1Ptr->unk3AD4[9], gText_ByeBye);
}
void sub_81298F8(u8 taskId)
{
u8 *buffer;
s16 *data = gTasks[taskId].data;
switch (data[0])
{
case 0:
if (!gReceivedRemoteLinkPlayers)
{
DestroyTask(taskId);
return;
}
data[0] = 1;
// fall through
case 1:
data[4] = GetLinkPlayerCount();
if (gUnknown_203B0E0->unkD != data[4])
{
data[0] = 2;
gUnknown_203B0E0->unkD = data[4];
return;
}
data[3] = GetBlockReceivedStatus();
if (!data[3] && sub_80FBA1C())
return;
data[1] = 0;
data[0] = 3;
// fall through
case 3:
for (; data[1] < 5 && ((data[3] >> data[1]) & 1) == 0; data[1]++)
;
if (data[1] == 5)
{
data[0] = 1;
return;
}
data[2] = data[1];
ResetBlockReceivedFlag(data[2]);
buffer = (u8 *)gBlockRecvBuffer[data[1]];
switch (buffer[0])
{
default:
case 1: data[5] = 3; break;
case 2: data[5] = 3; break;
case 3: data[5] = 4; break;
case 4: data[5] = 5; break;
case 5: data[5] = 6; break;
}
if (sub_812963C(gUnknown_203B0E0->unk39, (u8 *)gBlockRecvBuffer[data[1]]))
{
gUnknown_203B0E0->unk16 = data[1];
sub_8129C34(12, 2);
data[0] = 7;
}
else
{
data[0] = data[5];
}
data[1]++;
break;
case 7:
if (!sub_8129C8C(2))
data[0] = data[5];
break;
case 4:
if (!gUnknown_203B0E0->unk13 && data[2])
{
if (GetLinkPlayerCount() == 2)
{
sub_80FA4A8();
gUnknown_203B0E0->unk17 = 1;
DestroyTask(taskId);
return;
}
sub_80FBD6C(data[2]);
}
data[0] = 3;
break;
case 5:
if (gUnknown_203B0E0->unk13)
gUnknown_203B0E0->unk17 = 2;
DestroyTask(taskId);
break;
case 6:
gUnknown_203B0E0->unk17 = 3;
DestroyTask(taskId);
break;
case 2:
if (!sub_80FBA1C())
{
if (!gUnknown_203B0E0->unk13)
sub_80FB030(gUnknown_203B0E0->unkD);
data[0] = 1;
}
break;
}
}