summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-02-12 15:32:14 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-02-12 15:32:14 -0500
commitaa4a979334036eb647cef5cd6a4ecd0bcad4b235 (patch)
treedd3444335e9647a0af31a5b86fbca6ce1e0a2cc1
parent5953064c0365a6cda1e27ac8330a6f43135ebd7a (diff)
More function documentation in union_room, link, link_rfu_2
-rw-r--r--asm/berry_crush.s2
-rw-r--r--asm/berry_crush_2.s26
-rw-r--r--asm/berry_crush_3.s2
-rw-r--r--asm/cable_club.s6
-rw-r--r--asm/dodrio_berry_picking.s4
-rw-r--r--asm/overworld.s84
-rw-r--r--include/constants/union_room.h3
-rw-r--r--include/link.h16
-rw-r--r--include/link_rfu.h26
-rw-r--r--include/overworld.h2
-rw-r--r--src/AgbRfu_LinkManager.c2
-rw-r--r--src/battle_controller_player.c2
-rw-r--r--src/battle_controllers.c4
-rw-r--r--src/battle_main.c2
-rw-r--r--src/field_fadetransition.c6
-rw-r--r--src/link.c40
-rw-r--r--src/link_rfu_2.c298
-rw-r--r--src/save.c6
-rw-r--r--src/trade.c12
-rw-r--r--src/trade_scene.c8
-rw-r--r--src/union_room.c320
-rw-r--r--src/union_room_battle.c2
-rw-r--r--src/union_room_message.c1
23 files changed, 440 insertions, 434 deletions
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
index 0f730e732..728e87128 100644
--- a/asm/berry_crush.s
+++ b/asm/berry_crush.s
@@ -45,7 +45,7 @@ _0814B716:
ldr r0, _0814B74C @ =0x0000012f
bl PlayNewMapMusic
ldr r0, _0814B750 @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
_0814B73E:
movs r0, 0
_0814B740:
diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s
index 00bf2150e..e5079a5a9 100644
--- a/asm/berry_crush_2.s
+++ b/asm/berry_crush_2.s
@@ -143,7 +143,7 @@ _0814BC30:
movs r0, 0x3
b _0814BC6A
_0814BC44:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814BC66
_0814BC4A:
bl IsLinkTaskFinished
@@ -359,7 +359,7 @@ sub_814BDBC: @ 814BDBC
beq _0814BDD2
b _0814BDFC
_0814BDCC:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814BDFC
_0814BDD2:
bl IsLinkTaskFinished
@@ -494,7 +494,7 @@ _0814BEB4:
bl sub_814BB4C
b _0814BFC6
_0814BED4:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814BFC0
_0814BEDA:
bl IsLinkTaskFinished
@@ -650,7 +650,7 @@ _0814C008:
adds r1, r4, r0
adds r0, r4, 0
bl sub_814DA24
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814C108
_0814C01A:
bl IsLinkTaskFinished
@@ -720,7 +720,7 @@ _0814C080:
ldrb r0, [r2]
adds r0, 0x1
strb r0, [r2]
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814C108
.align 2, 0
_0814C0AC: .4byte sub_814DB84
@@ -748,7 +748,7 @@ _0814C0D2:
adds r1, r4, r3
adds r0, r4, 0
bl sub_814DC24
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814C108
_0814C0E4:
bl IsLinkTaskFinished
@@ -904,7 +904,7 @@ _0814C1FC:
movs r0, 0x1E
movs r1, 0
bl SetGpuReg
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814C23C
_0814C21E:
bl IsLinkTaskFinished
@@ -969,7 +969,7 @@ _0814C28A:
cmp r0, 0
bne _0814C2F2
_0814C292:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814C2EC
_0814C298:
bl IsLinkTaskFinished
@@ -2065,7 +2065,7 @@ _0814CADA:
bl sub_814DE50
cmp r0, 0
beq _0814CB18
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
movs r0, 0
strh r0, [r4, 0x10]
b _0814CB12
@@ -2158,7 +2158,7 @@ _0814CB8A:
bl sub_814DE50
cmp r0, 0
beq _0814CC02
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
movs r0, 0
strh r0, [r5, 0x10]
movs r0, 0x12
@@ -2846,7 +2846,7 @@ _0814D0D6:
.align 2, 0
_0814D0FC: .4byte 0x00008c9f
_0814D100:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814D178
_0814D106:
bl IsLinkTaskFinished
@@ -3028,7 +3028,7 @@ _0814D256:
beq _0814D296
b _0814D30C
_0814D260:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814D30C
_0814D266:
bl IsLinkTaskFinished
@@ -3316,7 +3316,7 @@ _0814D47C:
beq _0814D498
b _0814D4B8
_0814D482:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814D4B8
_0814D488:
bl IsLinkTaskFinished
diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s
index 81bb22d8c..dfed93396 100644
--- a/asm/berry_crush_3.s
+++ b/asm/berry_crush_3.s
@@ -338,7 +338,7 @@ _0814D8B4:
.4byte _0814D9A2
.4byte _0814D9B2
_0814D8D4:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _0814D9BA
_0814D8DA:
bl IsLinkTaskFinished
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 4c35c1826..92f14461a 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -1756,7 +1756,7 @@ _08081510:
ldr r1, [r1]
str r1, [r0]
adds r0, r5, 0
- bl sub_800B284
+ bl IntlConvertLinkPlayerName
lsls r0, r4, 24
lsrs r0, 24
bl ResetBlockReceivedFlag
@@ -1785,7 +1785,7 @@ _0808154C:
strh r0, [r6]
b _0808160A
_08081560:
- bl sub_800AB9C
+ bl PrepareSendLinkCmd2FFE_or_RfuCmd6600
movs r0, 0x6
strh r0, [r6]
b _0808160A
@@ -2276,7 +2276,7 @@ _08081940:
strb r0, [r1]
strb r0, [r1, 0x1]
bl m4aMPlayAllStop
- bl sub_800AB9C
+ bl PrepareSendLinkCmd2FFE_or_RfuCmd6600
_08081950:
ldrh r0, [r4]
adds r0, 0x1
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
index ad958c579..eca27fd8d 100644
--- a/asm/dodrio_berry_picking.s
+++ b/asm/dodrio_berry_picking.s
@@ -382,7 +382,7 @@ _08150B08:
bl sub_8155E68
cmp r0, 0
bne _08150BFC
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
b _08150BDC
_08150B16:
bl IsLinkTaskFinished
@@ -662,7 +662,7 @@ _08150D46:
cmp r0, 0
bne _08150D74
_08150D4E:
- bl sub_80FA42C
+ bl LinkRfu_SetRfuFuncToSend6600
_08150D52:
ldr r0, _08150D60 @ =gUnknown_203F3E0
ldr r1, [r0]
diff --git a/asm/overworld.s b/asm/overworld.s
index 3757779c9..f68782acf 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -3430,14 +3430,14 @@ _080565D4:
_080565DC: .4byte gPaletteFade
thumb_func_end sub_80565B4
- thumb_func_start sub_80565E0
-sub_80565E0: @ 80565E0
+ thumb_func_start SetMainCallback1
+SetMainCallback1: @ 80565E0
ldr r1, _080565E8 @ =gMain
str r0, [r1]
bx lr
.align 2, 0
_080565E8: .4byte gMain
- thumb_func_end sub_80565E0
+ thumb_func_end SetMainCallback1
thumb_func_start map_post_load_hook_exec
map_post_load_hook_exec: @ 80565EC
@@ -3490,7 +3490,7 @@ _08056640: .4byte gFieldCallback
thumb_func_start CB2_NewGame
CB2_NewGame: @ 8056644
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
bl sub_8056420
bl NewGameInitData
@@ -3508,7 +3508,7 @@ CB2_NewGame: @ 8056644
bl do_load_map_stuff_loop
bl SetFieldVBlankCallback
ldr r0, _0805669C @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _080566A0 @ =sub_80565B4
bl SetMainCallback2
pop {r0}
@@ -3537,7 +3537,7 @@ CB2_WhiteOut: @ 80566A4
lsrs r0, 24
cmp r0, 0x77
bls _08056702
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
bl sub_8056420
bl sub_8054BC8
@@ -3556,7 +3556,7 @@ CB2_WhiteOut: @ 80566A4
bl sub_8112364
bl SetFieldVBlankCallback
ldr r0, _08056714 @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _08056718 @ =sub_80565B4
bl SetMainCallback2
_08056702:
@@ -3574,11 +3574,11 @@ _08056718: .4byte sub_80565B4
thumb_func_start CB2_LoadMap
CB2_LoadMap: @ 805671C
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _08056740 @ =sub_80C9BFC
bl SetMainCallback2
ldr r1, _08056744 @ =gMain
@@ -3609,7 +3609,7 @@ _08056768: .4byte gMain + 0x438
_0805676C:
bl SetFieldVBlankCallback
ldr r0, _08056780 @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _08056784 @ =sub_80565B4
bl SetMainCallback2
_0805677C:
@@ -3620,12 +3620,12 @@ _08056780: .4byte sub_8056534
_08056784: .4byte sub_80565B4
thumb_func_end sub_805674C
- thumb_func_start sub_8056788
-sub_8056788: @ 8056788
+ thumb_func_start CB2_ReturnToFieldCableClub
+CB2_ReturnToFieldCableClub: @ 8056788
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r0, _080567A0 @ =gFieldCallback
- ldr r1, _080567A4 @ =sub_807DE58
+ ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink
str r1, [r0]
ldr r0, _080567A8 @ =c2_80567AC
bl SetMainCallback2
@@ -3633,9 +3633,9 @@ sub_8056788: @ 8056788
bx r0
.align 2, 0
_080567A0: .4byte gFieldCallback
-_080567A4: .4byte sub_807DE58
+_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink
_080567A8: .4byte c2_80567AC
- thumb_func_end sub_8056788
+ thumb_func_end CB2_ReturnToFieldCableClub
thumb_func_start c2_80567AC
c2_80567AC: @ 80567AC
@@ -3646,7 +3646,7 @@ c2_80567AC: @ 80567AC
beq _080567CC
bl SetFieldVBlankCallback
ldr r0, _080567D4 @ =c1_link_related
- bl sub_80565E0
+ bl SetMainCallback1
bl sub_80578D8
ldr r0, _080567D8 @ =sub_80565B4
bl SetMainCallback2
@@ -3671,7 +3671,7 @@ CB2_ReturnToField: @ 80567DC
.align 2, 0
_080567F0: .4byte c2_exit_to_overworld_2_link
_080567F4:
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r0, _08056804 @ =c2_exit_to_overworld_2_local
bl SetMainCallback2
_080567FE:
@@ -3722,23 +3722,23 @@ _08056850: .4byte sub_80565B4
thumb_func_start c2_8056854
c2_8056854: @ 8056854
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
ldr r0, _08056878 @ =c1_link_related
- bl sub_80565E0
+ bl SetMainCallback1
bl sub_80578D8
ldr r0, _0805687C @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08056888
ldr r1, _08056880 @ =gFieldCallback
- ldr r0, _08056884 @ =sub_807DE58
+ ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink
b _0805688C
.align 2, 0
_08056878: .4byte c1_link_related
_0805687C: .4byte gWirelessCommType
_08056880: .4byte gFieldCallback
-_08056884: .4byte sub_807DE58
+_08056884: .4byte FieldCB_ReturnToFieldWirelessLink
_08056888:
ldr r1, _080568A0 @ =gFieldCallback
ldr r0, _080568A4 @ =sub_807DDD0
@@ -3757,7 +3757,7 @@ _080568A4: .4byte sub_807DDD0
thumb_func_start CB2_ReturnToFieldWithOpenMenu
CB2_ReturnToFieldWithOpenMenu: @ 80568A8
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _080568BC @ =gFieldCallback2
ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit
str r0, [r1]
@@ -3772,7 +3772,7 @@ _080568C0: .4byte FieldCB2_ReturnToStartMenuInit
thumb_func_start sub_80568C4
sub_80568C4: @ 80568C4
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _080568D8 @ =gFieldCallback
ldr r0, _080568DC @ =sub_807DD44
str r0, [r1]
@@ -3787,7 +3787,7 @@ _080568DC: .4byte sub_807DD44
thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic
CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _080568F4 @ =gFieldCallback
ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2
str r0, [r1]
@@ -3802,7 +3802,7 @@ _080568F8: .4byte FieldCallback_ReturnToEventScript2
thumb_func_start CB2_Overworld
CB2_Overworld: @ 80568FC
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _08056910 @ =gFieldCallback
ldr r0, _08056914 @ =sub_807DF7C
str r0, [r1]
@@ -3836,7 +3836,7 @@ _08056934: .4byte gMapHeader
thumb_func_start CB2_ContinueSavedGame
CB2_ContinueSavedGame: @ 8056938
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
bl sub_8056420
bl set_current_map_header_from_sav1
@@ -3871,7 +3871,7 @@ _0805699C:
ldr r1, _080569B4 @ =sub_8056918
str r1, [r0]
ldr r0, _080569B8 @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
bl CB2_ReturnToField
_080569AC:
pop {r0}
@@ -3882,8 +3882,8 @@ _080569B4: .4byte sub_8056918
_080569B8: .4byte sub_8056534
thumb_func_end CB2_ContinueSavedGame
- thumb_func_start sub_80569BC
-sub_80569BC: @ 80569BC
+ thumb_func_start FieldClearVBlankHBlankCallbacks
+FieldClearVBlankHBlankCallbacks: @ 80569BC
push {lr}
bl sub_80CC87C
lsls r0, 24
@@ -3915,7 +3915,7 @@ _080569F4:
bl SetHBlankCallback
pop {r0}
bx r0
- thumb_func_end sub_80569BC
+ thumb_func_end FieldClearVBlankHBlankCallbacks
thumb_func_start SetFieldVBlankCallback
SetFieldVBlankCallback: @ 8056A04
@@ -4122,7 +4122,7 @@ _08056B94:
.4byte _08056BFA
_08056BD0:
bl InitOverworldBgs
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
adds r0, r5, 0
bl sub_8055920
b _08056CCA
@@ -4332,7 +4332,7 @@ _08056D60:
.4byte _08056E46
_08056D98:
bl InitOverworldBgs
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
b _08056E3E
_08056DA2:
bl sub_8111F14
@@ -4914,14 +4914,14 @@ _08057268: .4byte gLinkPlayers
thumb_func_start sub_805726C
sub_805726C: @ 805726C
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _08057298 @ =gUnknown_2036E28
movs r0, 0x1
strb r0, [r1]
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _0805729C @ =sub_80C9BFC
bl SetMainCallback2
ldr r1, _080572A0 @ =gMain
@@ -4939,7 +4939,7 @@ _080572A4: .4byte sub_80572D8
thumb_func_start sub_80572A8
sub_80572A8: @ 80572A8
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r0, _080572D0 @ =gUnknown_2036E28
movs r1, 0x1
strb r1, [r0]
@@ -4947,7 +4947,7 @@ sub_80572A8: @ 80572A8
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _080572D4 @ =sub_80572D8
bl SetMainCallback2
pop {r0}
@@ -4964,7 +4964,7 @@ sub_80572D8: @ 80572D8
bl sub_8057300
bl SetFieldVBlankCallback
ldr r0, _080572F8 @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _080572FC @ =sub_80565B4
bl SetMainCallback2
pop {r0}
@@ -5020,7 +5020,7 @@ _08057330:
.4byte _0805740A
_0805735C:
bl InitOverworldBgs
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl sub_8111F14
bl sub_81113E4
bl sub_8111438
@@ -5118,7 +5118,7 @@ _0805742A:
thumb_func_start sub_8057430
sub_8057430: @ 8057430
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
ldr r1, _08057484 @ =gUnknown_2036E28
movs r0, 0x3
@@ -5149,7 +5149,7 @@ _08057488: .4byte gUnknown_2031DE0
_0805748C: .4byte CB2_LoadMap
_08057490:
ldr r0, _080574A0 @ =sub_8056534
- bl sub_80565E0
+ bl SetMainCallback1
bl CB2_ReturnToField
_0805749A:
pop {r0}
@@ -5313,7 +5313,7 @@ _08057560:
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
+ bl SetMainCallback1
ldr r1, _08057614 @ =gFieldCallback2
ldr r0, _08057618 @ =sub_80574EC
str r0, [r1]
diff --git a/include/constants/union_room.h b/include/constants/union_room.h
index aaeb3b34d..b23860645 100644
--- a/include/constants/union_room.h
+++ b/include/constants/union_room.h
@@ -54,4 +54,7 @@
#define LINK_GROUP_WONDER_NEWS 8
#define NUM_LINK_GROUP_TYPES 9
+#define LINK_GROUP_UNION_ROOM_RESUME 9
+#define LINK_GROUP_UNION_ROOM_INIT 10
+
#endif //GUARD_CONSTANTS_UNION_ROOM_H
diff --git a/include/link.h b/include/link.h
index 7b20c71b4..e36ac8078 100644
--- a/include/link.h
+++ b/include/link.h
@@ -246,11 +246,11 @@ void sub_800E0E8(void);
bool8 sub_800A520(void);
bool8 sub_8010500(void);
void sub_800DFB4(u8, u8);
-void sub_800AB9C(void);
-void sub_800B1F4(void);
+void PrepareSendLinkCmd2FFE_or_RfuCmd6600(void);
+void SetWirelessCommType1(void);
void sub_8009734(void);
void sub_800A620(void);
-void sub_80FBB4C(void);
+void LinkRfu_DestroyIdleTask(void);
u8 sub_800ABAC(void);
u8 sub_800ABBC(void);
void Link_TryStartSend5FFF(void);
@@ -264,19 +264,19 @@ bool8 IsLinkTaskFinished(void);
bool32 sub_800B270(void);
void ResetSerial(void);
void sub_8054A28(void);
-void sub_800B1F4(void);
+void SetWirelessCommType1(void);
void LoadWirelessStatusIndicatorSpriteGfx(void);
void CreateWirelessStatusIndicatorSprite(u8, u8);
void sub_8009FE8(void);
void ClearLinkCallback_2(void);
-void sub_80FA42C(void);
-void sub_800B284(struct LinkPlayer * linkPlayer);
+void LinkRfu_SetRfuFuncToSend6600(void);
+void IntlConvertLinkPlayerName(struct LinkPlayer * linkPlayer);
bool8 IsWirelessAdapterConnected(void);
bool8 sub_800A474(u8 a0);
void LinkVSync(void);
bool8 HandleLinkConnection(void);
-void sub_800B0B4(void);
-void sub_800B110(u32 who);
+void PrepareLocalLinkPlayerBlock(void);
+void LinkPlayerFromBlock(u32 who);
void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06);
u8 sub_800A8D4(void);
diff --git a/include/link_rfu.h b/include/link_rfu.h
index 52d3a4c9c..86d55047d 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -87,21 +87,21 @@ typedef struct UnkRfuStruct_2
/* 0x06c */ struct RfuBlockSend cmd_8800_sendbuf;
/* 0x080 */ struct RfuBlockSend cmd_8800_recvbuf[5];
/* 0x0e4 */ u8 cmd5f00Ack[5];
- /* 0x0e9 */ u8 unk_e9[5];
+ /* 0x0e9 */ u8 cmd_6600_recvd[5];
/* 0x0ee */ vu8 errorState;
/* 0x0ef */ u8 unk_ef;
/* 0x0f0 */ u8 linkLossRecoveryState;
/* 0x0f1 */ u8 unk_f1;
/* 0x0f2 */ u16 unk_f2[6];
- /* 0x0fe */ u16 unk_fe;
- /* 0x100 */ u16 unk_100;
+ /* 0x0fe */ u16 cmd_6600_timer;
+ /* 0x100 */ u16 cmd_6600_count;
/* 0x102 */ u8 unk_102;
/* 0x104 */ struct RfuTgtData unk_104;
/* 0x124 */ struct UnkRfuStruct_2_Sub_124 unk_124;
/* 0x6a0 */ struct UnkRfuStruct_2_Sub_9e8 unk_9e8;
/* 0x8d4 */ struct UnkRfuStruct_2_Sub_c1c unk_c1c;
/* 0x8f4 */ vu8 unk_c3c;
- /* 0x8f5 */ u8 unk_c3d;
+ /* 0x8f5 */ u8 reconnectedParentIdx;
/* 0x8f6 */ vu8 child_slot;
/* 0x8f7 */ u8 unk_c3f[70];
/* 0x93d */ u8 unk_c85;
@@ -118,12 +118,12 @@ typedef struct UnkRfuStruct_2
/* 0x993 */ vu8 unk_cdb;
/* 0x994 */ vu8 unk_cdc;
/* 0x995 */ u8 unk_cdd;
- /* 0x996 */ u8 unk_cde[RFU_CHILD_MAX];
+ /* 0x996 */ u8 linkPlayerIdx[RFU_CHILD_MAX];
/* 0x99a */ u8 bm_PartnerFlags;
/* 0x99b */ u8 bm_DisconnectSlot;
/* 0x99c */ u8 unk_ce4;
/* 0x99d */ u8 unk_ce5;
- /* 0x99e */ u8 unk_ce6;
+ /* 0x99e */ u8 unionRoomChatters;
/* 0x99f */ u8 acceptSlot_flag;
/* 0x9a0 */ bool8 unk_ce8;
/* 0x9a1 */ u8 unk_ce9;
@@ -147,7 +147,7 @@ void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0);
void MEvent_CreateTask_Leader(u32 arg0);
void RfuPrepareSend0x2f00(void * data);
u8 CreateTask_ListenToWireless(void);
-void sub_80FBB4C(void);
+void LinkRfu_DestroyIdleTask(void);
void sub_80F86F4(void);
void sub_80FB128(bool32 a0);
bool32 IsSendingKeysToRfu(void);
@@ -161,13 +161,13 @@ u8 Rfu_GetBlockReceivedStatus(void);
void Rfu_SetBlockReceivedFlag(u8 who);
void Rfu_ResetBlockReceivedFlag(u8 who);
bool8 Rfu_IsMaster(void);
-void sub_80F85F8(void);
+void ResetLinkRfuGFLayer(void);
bool32 LinkRfuMain1(void);
bool32 LinkRfuMain2(void);
bool32 IsRfuRecvQueueEmpty(void);
u32 GetRfuRecvQueueLength(void);
void LinkRfu_Shutdown(void);
-void sub_80FBB20(void);
+void LinkRfu_CreateIdleTask(void);
bool8 sub_80FA484(bool32 a0);
void var_800D_set_xB(void);
struct GFtgtGname *GetHostRFUtgtGname(void);
@@ -191,7 +191,7 @@ void UpdateGameData_GroupLockedIn(bool8 started);
bool32 RfuSerialNumberIsValid(u32 a0);
bool8 sub_80FC1B0(void);
bool8 LmanAcceptSlotFlagIsNotZero(void);
-void sub_80F8F5C(void);
+void LinkRfu_StopManagerAndFinalizeSlots(void);
bool32 sub_80FA5D4(void);
bool32 sub_80FC1CC(void);
bool32 WaitRfuState(bool32 a0);
@@ -204,7 +204,7 @@ void RequestDisconnectSlotByTrainerNameAndId(const u8 *trainerName, u16 trainerI
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname);
void InitializeRfuLinkManager_JoinGroup(void);
void LinkRfuNIsend8(void);
-void CreateTask_sub_80FBE80(const u8 *src, u16 trainerId);
+void CreateTask_RfuReconnectWithParent(const u8 *src, u16 trainerId);
void UpdateGameDataWithActivitySpriteGendersFlag(u8 activity, u32 child_sprite_genders, u32 started);
void RecordMixTrainerNames(void);
void LinkRfu_CreateConnectionAsParent();
@@ -213,8 +213,8 @@ void SetGnameBufferWonderFlags(bool32 hasNews, bool32 hasCard);
void ClearAndInitHostRFUtgtGname(void);
void sub_80F8FA0(void);
void RfuUpdatePlayerGnameStateAndSend(u32 type, u32 species, u32 level);
-bool32 sub_80FBB0C(void);
-void sub_80FBC00(void);
+bool32 IsUnionRoomListenTaskActive(void);
+void InitializeRfuLinkManager_EnterUnionRoom(void);
void sub_80FBD6C(u32 a0);
void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2);
bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name);
diff --git a/include/overworld.h b/include/overworld.h
index b783248ce..8242615c7 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -156,7 +156,7 @@ u8 GetCurrentMapType(void);
u8 get_map_light_from_warp0(void);
const struct MapHeader *warp1_get_mapheader(void);
void sub_8055F88(void);
-void sub_8056788(void);
+void CB2_ReturnToFieldCableClub(void);
void ResetGameStats(void);
void Overworld_CreditsMainCB(void);
diff --git a/src/AgbRfu_LinkManager.c b/src/AgbRfu_LinkManager.c
index dc09dc1ae..d76ada85b 100644
--- a/src/AgbRfu_LinkManager.c
+++ b/src/AgbRfu_LinkManager.c
@@ -152,7 +152,7 @@ u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16 name_ac
rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1);
return LMAN_ERROR_ILLEGAL_PARAMETER;
}
- if (parent_child > 1)
+ if (parent_child > MODE_PARENT)
{
lman.pcswitch_flag = PCSWITCH_1ST_SC_START;
parent_child = MODE_PARENT;
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index a01c4990a..7b0a8aa47 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -833,7 +833,7 @@ void sub_802F6A8(void)
if (gWirelessCommType == 0)
Link_TryStartSend5FFF();
else
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gBattlerControllerFuncs[gActiveBattler] = sub_802F610;
}
else
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index ca2ef0b22..834b9e6b6 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -35,7 +35,7 @@ void HandleLinkBattleSetup(void)
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
if (gWirelessCommType)
- sub_800B1F4();
+ SetWirelessCommType1();
if (!gReceivedRemoteLinkPlayers)
OpenLink();
CreateTask(sub_8081A90, 0);
@@ -491,7 +491,7 @@ void sub_800DD28(void)
if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_20) && (gLinkPlayers[0].linkType == 0x2211))
{
- sub_80FBB4C();
+ LinkRfu_DestroyIdleTask();
for (i = 0; i < GetLinkPlayerCount(); ++i)
{
if (GetBlockReceivedStatus() & gBitTable[i])
diff --git a/src/battle_main.c b/src/battle_main.c
index 80a0cd588..3f20399f6 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -1152,7 +1152,7 @@ static void CB2_PreInitMultiBattle(void)
{
++gBattleCommunication[MULTIUSE_STATE];
if (gWirelessCommType)
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
else
Link_TryStartSend5FFF();
}
diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c
index 282b1c8b5..2e1dcd919 100644
--- a/src/field_fadetransition.c
+++ b/src/field_fadetransition.c
@@ -206,7 +206,7 @@ static void sub_807DDF0(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
task->data[0]++;
break;
case 1:
@@ -227,7 +227,7 @@ static void sub_807DDF0(u8 taskId)
}
}
-void sub_807DE58(void)
+void FieldCB_ReturnToFieldWirelessLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
@@ -632,7 +632,7 @@ static void sub_807E5EC(u8 taskId)
break;
case 2:
WarpIntoMap();
- SetMainCallback2(sub_8056788);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
DestroyTask(taskId);
break;
}
diff --git a/src/link.c b/src/link.c
index 2f6d03372..0ff16634d 100644
--- a/src/link.c
+++ b/src/link.c
@@ -144,11 +144,11 @@ static void LinkCB_RequestPlayerDataExchange(void);
static void Task_PrintTestData(u8 taskId);
static void LinkCB_BuildCommand5FFF(void);
static void LinkCB_WaitAckCommand5FFF(void);
-static void sub_800ABD4(void);
-static void sub_800AC00(void);
+static void LinkFunc_Send2FFE_1(void);
+static void LinkFunc_Send2FFE_2(void);
static void CheckErrorStatus(void);
static void CB2_PrintErrorMessage(void);
-static void sub_800B210(void);
+static void SetWirelessCommType0(void);
static void DisableSerial(void);
static void EnableSerial(void);
static bool8 IsSioMultiMaster(void);
@@ -232,7 +232,7 @@ bool8 IsWirelessAdapterConnected(void)
if (gQuestLogState == 2 || gQuestLogState == 3)
return FALSE;
- sub_800B1F4();
+ SetWirelessCommType1();
sub_80F86F4();
sub_80FB128(TRUE);
if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID)
@@ -241,7 +241,7 @@ bool8 IsWirelessAdapterConnected(void)
rfu_waitREQComplete();
return TRUE;
}
- sub_800B210();
+ SetWirelessCommType0();
CloseLink();
RestoreSerialTimer3IntrHandlers();
return FALSE;
@@ -613,7 +613,7 @@ void ProcessRecvCmds(u8 unused)
linkPlayer->name[9] = 0;
linkPlayer->name[8] = 0;
}
- sub_800B284(linkPlayer);
+ IntlConvertLinkPlayerName(linkPlayer);
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0
|| strcmp(block->magic2, sASCIIGameFreakInc) != 0)
{
@@ -1384,32 +1384,32 @@ static void LinkCB_WaitAckCommand5FFF(void)
}
}
-void sub_800AB9C(void)
+void PrepareSendLinkCmd2FFE_or_RfuCmd6600(void)
{
if (gWirelessCommType == 1)
{
- sub_80FA42C();
+ LinkRfu_SetRfuFuncToSend6600();
}
else
{
if (gLinkCallback == NULL)
{
- gLinkCallback = sub_800ABD4;
+ gLinkCallback = LinkFunc_Send2FFE_1;
}
gLinkAllAcked5FFF = FALSE;
}
}
-static void sub_800ABD4(void)
+static void LinkFunc_Send2FFE_1(void)
{
if (gLastRecvQueueCount == 0)
{
BuildSendCmd(LINKCMD_0x2FFE);
- gLinkCallback = sub_800AC00;
+ gLinkCallback = LinkFunc_Send2FFE_2;
}
}
-static void sub_800AC00(void)
+static void LinkFunc_Send2FFE_2(void)
{
u8 i;
u8 linkPlayerCount;
@@ -1477,7 +1477,7 @@ void CB2_LinkError(void)
{
gWirelessCommType = 3;
}
- sub_80F85F8();
+ ResetLinkRfuGFLayer();
}
SetVBlankCallback(sub_800978C);
ResetBgsAndClearDma3BusyFlags(0);
@@ -1626,7 +1626,7 @@ bool8 HasLinkErrorOccurred(void)
return gLinkErrorOccurred;
}
-void sub_800B0B4(void)
+void PrepareLocalLinkPlayerBlock(void)
{
struct LinkPlayerBlock * block;
@@ -1638,7 +1638,7 @@ void sub_800B0B4(void)
memcpy(gBlockSendBuffer, block, sizeof(*block));
}
-void sub_800B110(u32 who)
+void LinkPlayerFromBlock(u32 who)
{
u8 who_ = who;
struct LinkPlayerBlock * block;
@@ -1647,7 +1647,7 @@ void sub_800B110(u32 who)
block = (struct LinkPlayerBlock *)gBlockRecvBuffer[who_];
player = &gLinkPlayers[who_];
*player = block->linkPlayer;
- sub_800B284(player);
+ IntlConvertLinkPlayerName(player);
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0)
{
SetMainCallback2(CB2_LinkError);
@@ -1683,7 +1683,7 @@ bool8 HandleLinkConnection(void)
return FALSE;
}
-void sub_800B1F4(void)
+void SetWirelessCommType1(void)
{
if (gReceivedRemoteLinkPlayers == 0)
{
@@ -1691,7 +1691,7 @@ void sub_800B1F4(void)
}
}
-static void sub_800B210(void)
+static void SetWirelessCommType0(void)
{
if (gReceivedRemoteLinkPlayers == 0)
{
@@ -1699,7 +1699,7 @@ static void sub_800B210(void)
}
}
-void sub_800B22C(void)
+void SetWirelessCommType0_UnusedCopy(void)
{
if (gReceivedRemoteLinkPlayers == 0)
{
@@ -1725,7 +1725,7 @@ bool32 sub_800B270(void)
return FALSE;
}
-void sub_800B284(struct LinkPlayer * player)
+void IntlConvertLinkPlayerName(struct LinkPlayer * player)
{
player->name[10] = player->name[8];
ConvertInternationalString(player->name, player->language);
diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c
index 28617948b..5890a5276 100644
--- a/src/link_rfu_2.c
+++ b/src/link_rfu_2.c
@@ -14,11 +14,12 @@
#include "constants/species.h"
#include "constants/union_room.h"
-struct UnkRfuStruct_8010A14{
- char unk_00[15]; // PokemonSioInfo
- u8 unk_0f;
- u8 unk_10[4];
- struct LinkPlayer unk_14[5];
+struct SioInfo
+{
+ char magic[15]; // PokemonSioInfo
+ u8 playerCount;
+ u8 linkPlayerIdx[RFU_CHILD_MAX];
+ struct LinkPlayer linkPlayers[MAX_RFU_PLAYERS];
u8 fill_a0[0x5c];
};
@@ -36,7 +37,7 @@ u8 gHostRFUtgtUnameBuffer[PLAYER_NAME_LENGTH + 1];
static void sub_80F8AA4(void);
static void sub_80F8AEC(void);
static void MscCallback_Child(u16 a0);
-static void sub_80F8DA8(u16 a0);
+static void MSCCallback_SetUnkCDB(u16 a0);
static void sub_80F906C(void);
static void RfuHandleReceiveCommand(u8 unused);
static void ResetSendDataManager(struct RfuBlockSend *data);
@@ -49,8 +50,8 @@ static void sub_80FA738(void);
static int sub_80FA788(void);
static void sub_80FA834(u8 taskId);
static void sub_80FA9D0(u16 a0);
-static void sub_80FAA58(void * a0);
-static void sub_80FAA94(u8 taskId);
+static void ValidateAndReceivePokemonSioInfo(void * a0);
+static void Task_ExchangeLinkPlayers(u8 taskId);
static void sub_80FACF0(u8 taskId);
static void GetLinkmanErrorParams(u32 msg);
static void sub_80FB564(s32 bmConnectedFlag);
@@ -59,8 +60,8 @@ static u8 GetPartnerIndexByNameAndTrainerID(const u8 *trainerName, u16 trainerId
static void RfuReqDisconnectSlot(u32 bmDisconnectSlot);
static void sub_80FBE20(u32 a0, u32 a1);
static void sub_80FC028(u8 taskId);
-static void sub_80FC208(void);
-static void nullsub_89(u8 taskId);
+static void rfu_dbg_clear(void);
+static void Task_idle(u8 taskId);
static const struct InitializeParametersTag sRfuReqConfigTemplate = {
.maxMFrame = 4,
@@ -169,21 +170,21 @@ static const char sUnref_843ED37[][16] = {
static const TaskFunc gUnknown_843ED88[] = {
sub_80FA834,
- sub_80FAA94,
+ Task_ExchangeLinkPlayers,
sub_80FACF0
};
-static void nullsub_87(const void *unused_0, u8 unused_1, u8 unused_2)
+static void rfu_dbg_print_str(const void *string, u8 x, u8 y)
{
// debug?
}
-static void nullsub_88(u16 unused_0, u8 unused_1, u8 unused_2, u8 unused_3)
+static void rfu_dbg_print_num(u16 num, u8 x, u8 y, u8 ndigits)
{
}
-void sub_80F85F8(void)
+void ResetLinkRfuGFLayer(void)
{
s32 i;
u8 errorState_bak = Rfu.errorState;
@@ -225,7 +226,7 @@ void sub_80F86F4(void)
{
gLinkType = 0;
sub_80FB128(FALSE);
- sub_80F85F8();
+ ResetLinkRfuGFLayer();
rfu_setTimerInterrupt(3, gIntrTable + 2);
}
}
@@ -257,7 +258,7 @@ static void Task_LinkLeaderSearchForChildren(u8 taskId)
break;
case 18:
Rfu.unk_cdb = 0;
- rfu_LMAN_setMSCCallback(sub_80F8DA8);
+ rfu_LMAN_setMSCCallback(MSCCallback_SetUnkCDB);
sub_80F8AA4();
sub_80F8AEC();
Rfu.state = 20;
@@ -285,7 +286,7 @@ static void sub_80F887C(s32 r2, s32 r5)
{
if (r2 & 1)
{
- Rfu.unk_cde[i] = r4;
+ Rfu.linkPlayerIdx[i] = r4;
r4++;
}
}
@@ -296,12 +297,12 @@ static void sub_80F887C(s32 r2, s32 r5)
{
if (!(r1 & 1))
{
- Rfu.unk_cde[i] = 0;
+ Rfu.linkPlayerIdx[i] = 0;
}
}
for (r4 = 4; r4 != 0; r4--)
{
- for (i = 0; i < RFU_CHILD_MAX && Rfu.unk_cde[i] != r4; i++);
+ for (i = 0; i < RFU_CHILD_MAX && Rfu.linkPlayerIdx[i] != r4; i++);
if (i == 4)
{
r6 = r4;
@@ -311,7 +312,7 @@ static void sub_80F887C(s32 r2, s32 r5)
{
if (r5 & 1)
{
- Rfu.unk_cde[i] = r6++;
+ Rfu.linkPlayerIdx[i] = r6++;
}
}
}
@@ -362,7 +363,7 @@ static void Task_JoinGroupSearchForParent(u8 taskId)
DestroyTask(taskId);
if (gUnknown_203AC08.unk_0f == 0)
{
- sub_80FC208();
+ rfu_dbg_clear();
gUnknown_203AC08.unk_0f++;
}
CreateTask(sub_80FA834, 5);
@@ -396,7 +397,7 @@ static void sub_80F8AEC(void)
Rfu.parent_child = MODE_PARENT;
}
-static void sub_80F8B34(u8 taskId)
+static void Task_LinkRfu_UnionRoomListen(u8 taskId)
{
if (GetHostRFUtgtGname()->activity == (ACTIVITY_PLYRTALK | IN_UNION_ROOM) && RfuGetErrorStatus() == 4)
{
@@ -443,7 +444,7 @@ static void sub_80F8B34(u8 taskId)
break;
case 16:
Rfu.unk_cdb = 0;
- rfu_LMAN_setMSCCallback(sub_80F8DA8);
+ rfu_LMAN_setMSCCallback(MSCCallback_SetUnkCDB);
UpdateGameData_GroupLockedIn(1);
sub_80F8AA4();
sub_80F8AEC();
@@ -489,7 +490,7 @@ static void MscCallback_Child(u16 unused)
rfu_LMAN_REQ_sendData(TRUE);
}
-static void sub_80F8DA8(u16 unused)
+static void MSCCallback_SetUnkCDB(u16 unused)
{
Rfu.unk_cdb = 1;
}
@@ -507,7 +508,7 @@ void LinkRfu_Shutdown(void)
if (FuncIsActiveTask(Task_LinkLeaderSearchForChildren) == TRUE)
{
DestroyTask(Rfu.unk_67);
- sub_80F85F8();
+ ResetLinkRfuGFLayer();
}
}
else if (Rfu.parent_child == MODE_CHILD)
@@ -515,15 +516,15 @@ void LinkRfu_Shutdown(void)
if (FuncIsActiveTask(Task_JoinGroupSearchForParent) == TRUE)
{
DestroyTask(Rfu.unk_67);
- sub_80F85F8();
+ ResetLinkRfuGFLayer();
}
}
else if (Rfu.parent_child == 2)
{
- if (FuncIsActiveTask(sub_80F8B34) == TRUE)
+ if (FuncIsActiveTask(Task_LinkRfu_UnionRoomListen) == TRUE)
{
DestroyTask(Rfu.unk_67);
- sub_80F85F8();
+ ResetLinkRfuGFLayer();
}
}
for (i = 0; i < NELEMS(gUnknown_843ED88); i++)
@@ -553,7 +554,7 @@ static bool8 RfuStateIs7AndPlayerIsChild(void)
static bool32 IsParentSuccessfullyReconnected(void)
{
- if (Rfu.state == 7 && !rfu_LMAN_CHILD_connectParent(gRfuLinkStatus->partner[Rfu.unk_c3d].id, 240))
+ if (Rfu.state == 7 && !rfu_LMAN_CHILD_connectParent(gRfuLinkStatus->partner[Rfu.reconnectedParentIdx].id, 240))
{
Rfu.state = 9;
return TRUE;
@@ -577,7 +578,7 @@ bool8 LmanAcceptSlotFlagIsNotZero(void)
return FALSE;
}
-void sub_80F8F5C(void)
+void LinkRfu_StopManagerAndFinalizeSlots(void)
{
Rfu.state = 4;
Rfu.acceptSlot_flag = lman.acceptSlot_flag;
@@ -772,7 +773,7 @@ static bool32 sub_80F9204(void)
Rfu.unk_cee[i] = Rfu.unk_14[i][0] / 32;
Rfu.unk_cea[i] = 0;
Rfu.unk_14[i][0] &= 0x1f;
- r0 = Rfu.unk_cde[i];
+ r0 = Rfu.linkPlayerIdx[i];
for (j = 0; j < 7; j++)
{
gRecvCmds[r0][j] = (Rfu.unk_14[i][(j << 1) + 1] << 8) | Rfu.unk_14[i][(j << 1) + 0];
@@ -805,7 +806,7 @@ static bool32 sub_80F9204(void)
Rfu.unk_ce5 = 0;
rfu_UNI_setSendData(Rfu.bm_PartnerFlags, Rfu.recvCmds, sizeof(Rfu.recvCmds));
Rfu.unk_cda = sub_80F886C(Rfu.bm_PartnerFlags);
- CreateTask(sub_80FAA94, 0);
+ CreateTask(Task_ExchangeLinkPlayers, 0);
}
}
else
@@ -937,7 +938,7 @@ static u8 sub_80F9770(const u8 *a0)
return FALSE;
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- Rfu.unk_cde[i] = a0[i];
+ Rfu.linkPlayerIdx[i] = a0[i];
}
return a0[Rfu.child_slot];
}
@@ -1019,7 +1020,7 @@ static void RfuHandleReceiveCommand(u8 unused)
Rfu.cmd_8800_recvbuf[i].receiving = 2;
Rfu_SetBlockReceivedFlag(i);
if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers != 0 && Rfu.parent_child == MODE_CHILD)
- sub_80FAA58(gBlockRecvBuffer);
+ ValidateAndReceivePokemonSioInfo(gBlockRecvBuffer);
}
}
break;
@@ -1030,8 +1031,8 @@ static void RfuHandleReceiveCommand(u8 unused)
Rfu.cmd5f00Ack[i] = 1;
break;
case RFU_COMMAND_0x6600:
- if (Rfu.unk_100 == gRecvCmds[i][1])
- Rfu.unk_e9[i] = 1;
+ if (Rfu.cmd_6600_count == gRecvCmds[i][1])
+ Rfu.cmd_6600_recvd[i] = 1;
break;
case RFU_COMMAND_0xed00:
if (Rfu.parent_child == MODE_CHILD)
@@ -1081,7 +1082,7 @@ static void RfuHandleReceiveCommand(u8 unused)
}
}
-static bool8 sub_80F9C50(void)
+static bool8 Cmd8000recvIsFinished(void)
{
s32 i;
@@ -1145,7 +1146,7 @@ static void RfuPrepareSendBuffer(u16 command)
gSendCmd[2] = Rfu.cmd_8800_sendbuf.owner + 0x80;
break;
case RFU_COMMAND_0xa100:
- if (sub_80F9C50())
+ if (Cmd8000recvIsFinished())
gSendCmd[1] = Rfu.unk_5a;
break;
case RFU_COMMAND_0x7700:
@@ -1155,11 +1156,11 @@ static void RfuPrepareSendBuffer(u16 command)
gSendCmd[1] = Rfu.playerCount;
buff = (u8 *)(gSendCmd + 2);
for (i = 0; i < RFU_CHILD_MAX; i++)
- buff[i] = Rfu.unk_cde[i];
+ buff[i] = Rfu.linkPlayerIdx[i];
break;
case RFU_COMMAND_0x6600:
case RFU_COMMAND_0x5f00:
- gSendCmd[1] = Rfu.unk_100;
+ gSendCmd[1] = Rfu.cmd_6600_count;
break;
case RFU_COMMAND_0x2f00:
for (i = 0; i < 6; i++)
@@ -1363,45 +1364,45 @@ void Rfu_BeginBuildAndSendCommand5F(void)
CreateTask(Task_WaitRfuFuncAndSetBuildCmd5F00, 5);
}
-static void sub_80FA2B0(void)
+static void RfuFunc_Send6600_3(void)
{
u8 playerCount;
u8 i;
if (GetMultiplayerId() != 0) // child
{
- if (Rfu.unk_124.count == 0 && Rfu.unk_fe > 60)
+ if (Rfu.unk_124.count == 0 && Rfu.cmd_6600_timer > 60)
{
RfuPrepareSendBuffer(RFU_COMMAND_0x6600);
- Rfu.unk_fe = 0;
+ Rfu.cmd_6600_timer = 0;
}
}
playerCount = GetLinkPlayerCount();
for (i = 0; i < playerCount; i++)
{
- if (Rfu.unk_e9[i] == 0)
+ if (Rfu.cmd_6600_recvd[i] == 0)
break;
}
if (i == playerCount)
{
for (i = 0; i < MAX_RFU_PLAYERS; i++)
- Rfu.unk_e9[i] = 0;
- Rfu.unk_100++;
+ Rfu.cmd_6600_recvd[i] = 0;
+ Rfu.cmd_6600_count++;
Rfu.RfuFunc = NULL;
}
- Rfu.unk_fe++;
+ Rfu.cmd_6600_timer++;
}
-static void sub_80FA350(void)
+static void RfuFunc_Send6600_2(void)
{
if (Rfu.unk_124.count == 0 && gSendCmd[0] == 0)
{
RfuPrepareSendBuffer(RFU_COMMAND_0x6600);
- Rfu.RfuFunc = sub_80FA2B0;
+ Rfu.RfuFunc = RfuFunc_Send6600_3;
}
}
-static void sub_80FA388(void)
+static void RfuFunc_Send6600_1(void)
{
u8 i;
u8 playerCount;
@@ -1411,7 +1412,7 @@ static void sub_80FA388(void)
if (Rfu.unk_124.count == 0 && gSendCmd[0] == 0)
{
RfuPrepareSendBuffer(RFU_COMMAND_0x6600);
- Rfu.RfuFunc = sub_80FA2B0;
+ Rfu.RfuFunc = RfuFunc_Send6600_3;
}
}
else // parent
@@ -1419,7 +1420,7 @@ static void sub_80FA388(void)
playerCount = GetLinkPlayerCount();
for (i = 1; i < playerCount; i++)
{
- if (Rfu.unk_e9[i] == 0)
+ if (Rfu.cmd_6600_recvd[i] == 0)
break;
}
if (i == playerCount)
@@ -1427,18 +1428,18 @@ static void sub_80FA388(void)
if (Rfu.unk_124.count == 0 && gSendCmd[0] == 0)
{
RfuPrepareSendBuffer(RFU_COMMAND_0x6600);
- Rfu.RfuFunc = sub_80FA350;
+ Rfu.RfuFunc = RfuFunc_Send6600_2;
}
}
}
}
-void sub_80FA42C(void)
+void LinkRfu_SetRfuFuncToSend6600(void)
{
if (Rfu.RfuFunc == NULL)
{
- Rfu.RfuFunc = sub_80FA388;
- Rfu.unk_fe = 0;
+ Rfu.RfuFunc = RfuFunc_Send6600_1;
+ Rfu.cmd_6600_timer = 0;
}
}
@@ -1629,10 +1630,10 @@ static void sub_80FA834(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
- if (sub_80F9C50())
+ if (Cmd8000recvIsFinished())
{
ResetBlockReceivedFlags();
- sub_800B0B4();
+ PrepareLocalLinkPlayerBlock();
gTasks[taskId].data[0]++;
}
break;
@@ -1659,7 +1660,7 @@ static void sub_80FA834(u8 taskId)
case 3:
if (Rfu.parent_child == MODE_PARENT)
{
- if (sub_80F9C50())
+ if (Cmd8000recvIsFinished())
{
Rfu.unk_5a = 0;
RfuPrepareSendBuffer(RFU_COMMAND_0xa100);
@@ -1676,7 +1677,7 @@ static void sub_80FA834(u8 taskId)
case 5:
for (i = 0; i < Rfu.playerCount; i++)
{
- sub_800B110(i);
+ LinkPlayerFromBlock(i);
Rfu_ResetBlockReceivedFlag(i);
}
gTasks[taskId].data[0]++;
@@ -1686,14 +1687,14 @@ static void sub_80FA834(u8 taskId)
gReceivedRemoteLinkPlayers = 1;
Rfu.unk_ce8 = FALSE;
rfu_LMAN_setLinkRecovery(1, 600);
- if (Rfu.unk_ce6)
+ if (Rfu.unionRoomChatters)
{
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if ((Rfu.unk_ce6 >> i) & 1)
+ if ((Rfu.unionRoomChatters >> i) & 1)
{
Rfu.unk_ce5 = 1 << i;
- Rfu.unk_ce6 ^= (1 << i);
+ Rfu.unionRoomChatters ^= (1 << i);
}
}
}
@@ -1708,39 +1709,39 @@ static void sub_80FA9D0(u16 a0)
for (i = 0; i < RFU_CHILD_MAX; i++)
{
if ((a0 >> i) & 1)
- Rfu.unk_cde[i] = 0;
+ Rfu.linkPlayerIdx[i] = 0;
}
}
-static void sub_80FA9FC(const struct UnkRfuStruct_8010A14 *a0)
+static void ReceiveRfuLinkPlayers(const struct SioInfo *chunk)
{
s32 i;
- Rfu.playerCount = a0->unk_0f;
+ Rfu.playerCount = chunk->playerCount;
for (i = 0; i < RFU_CHILD_MAX; i++)
- Rfu.unk_cde[i] = a0->unk_10[i];
+ Rfu.linkPlayerIdx[i] = chunk->linkPlayerIdx[i];
for (i = 0; i < MAX_RFU_PLAYERS; i++)
{
- gLinkPlayers[i] = a0->unk_14[i];
- sub_800B284(gLinkPlayers + i);
+ gLinkPlayers[i] = chunk->linkPlayers[i];
+ IntlConvertLinkPlayerName(gLinkPlayers + i);
}
}
-static void sub_80FAA58(void *a0)
+static void ValidateAndReceivePokemonSioInfo(void *recvBuffer)
{
- if (strcmp("PokemonSioInfo", ((struct UnkRfuStruct_8010A14 *)a0)->unk_00) == 0)
+ if (strcmp("PokemonSioInfo", recvBuffer) == 0)
{
- sub_80FA9FC(a0);
- CpuFill16(0, a0, sizeof(struct UnkRfuStruct_8010A14));
+ ReceiveRfuLinkPlayers(recvBuffer);
+ CpuFill16(0, recvBuffer, sizeof(struct SioInfo));
ResetBlockReceivedFlag(0);
}
}
-static void sub_80FAA94(u8 taskId)
+static void Task_ExchangeLinkPlayers(u8 taskId)
{
s32 i;
struct LinkPlayerBlock *r2;
- struct UnkRfuStruct_8010A14 *r5;
- u8 r4 = Rfu.unk_cde[gUnknown_843EC38[Rfu.unk_ce9]];
+ struct SioInfo *r5;
+ u8 r4 = Rfu.linkPlayerIdx[gUnknown_843EC38[Rfu.unk_ce9]];
if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2)
{
Rfu.unk_ce8 = FALSE;
@@ -1766,42 +1767,43 @@ static void sub_80FAA94(u8 taskId)
ResetBlockReceivedFlag(r4);
r2 = (struct LinkPlayerBlock *)gBlockRecvBuffer[r4];
gLinkPlayers[r4] = r2->linkPlayer;
- sub_800B284(gLinkPlayers + r4);
+ IntlConvertLinkPlayerName(gLinkPlayers + r4);
gTasks[taskId].data[0]++;
}
break;
case 3:
- r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer;
- memcpy(r5->unk_00, "PokemonSioInfo", sizeof("PokemonSioInfo"));
- r5->unk_0f = Rfu.playerCount;
+ // Prepare send block
+ r5 = (struct SioInfo *)gBlockSendBuffer;
+ memcpy(r5->magic, "PokemonSioInfo", sizeof("PokemonSioInfo"));
+ r5->playerCount = Rfu.playerCount;
for (i = 0; i < RFU_CHILD_MAX; i++)
- r5->unk_10[i] = Rfu.unk_cde[i];
- memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers);
+ r5->linkPlayerIdx[i] = Rfu.linkPlayerIdx[i];
+ memcpy(r5->linkPlayers, gLinkPlayers, sizeof gLinkPlayers);
gTasks[taskId].data[0]++;
// fallthrough
case 4:
- r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer;
- r5->unk_0f = Rfu.playerCount;
+ r5 = (struct SioInfo *)gBlockSendBuffer;
+ r5->playerCount = Rfu.playerCount;
for (i = 0; i < RFU_CHILD_MAX; i++)
- r5->unk_10[i] = Rfu.unk_cde[i];
- memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers);
+ r5->linkPlayerIdx[i] = Rfu.linkPlayerIdx[i];
+ memcpy(r5->linkPlayers, gLinkPlayers, sizeof gLinkPlayers);
if (SendBlock(0, gBlockSendBuffer, 0xa0))
gTasks[taskId].data[0]++;
break;
case 5:
if (IsLinkTaskFinished() && GetBlockReceivedStatus() & 1)
{
- CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14));
+ CpuFill16(0, gBlockRecvBuffer, sizeof(struct SioInfo));
ResetBlockReceivedFlag(0);
Rfu.unk_ce8 = FALSE;
- if (Rfu.unk_ce6)
+ if (Rfu.unionRoomChatters)
{
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if ((Rfu.unk_ce6 >> i) & 1)
+ if ((Rfu.unionRoomChatters >> i) & 1)
{
Rfu.unk_ce5 = 1 << i;
- Rfu.unk_ce6 ^= (1 << i);
+ Rfu.unionRoomChatters ^= (1 << i);
Rfu.unk_ce8 = TRUE;
break;
}
@@ -1822,7 +1824,7 @@ static void sub_80FACF0(u8 taskId)
case 0:
if (Rfu.playerCount)
{
- sub_800B0B4();
+ PrepareLocalLinkPlayerBlock();
SendBlock(0, gBlockSendBuffer, sizeof(struct LinkPlayerBlock));
gTasks[taskId].data[0]++;
}
@@ -1834,7 +1836,7 @@ static void sub_80FACF0(u8 taskId)
case 2:
if (GetBlockReceivedStatus() & 1)
{
- sub_80FA9FC((const struct UnkRfuStruct_8010A14 *)gBlockRecvBuffer);
+ ReceiveRfuLinkPlayers((const struct SioInfo *)gBlockRecvBuffer);
ResetBlockReceivedFlag(0);
gReceivedRemoteLinkPlayers = 1;
DestroyTask(taskId);
@@ -1969,7 +1971,7 @@ void sub_80FB030(u32 linkPlayerCount)
{
// The 0x80 prevents this element from being incorrectly read as a 0.
child_sprite_genders |= ((
- 0x80 | ((gLinkPlayers[Rfu.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.unk_cde[i]].trainerId & 7)
+ 0x80 | ((gLinkPlayers[Rfu.linkPlayerIdx[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.linkPlayerIdx[i]].trainerId & 7)
) << (numConnectedChildren << 3));
numConnectedChildren++;
if (numConnectedChildren == linkPlayerCount - 1)
@@ -2143,13 +2145,13 @@ static void LmanCallback_Child(u8 msg, u8 param_count)
Rfu.linkLossRecoveryState = 4;
if (Rfu.unk_c86 != 9)
RfuSetErrorStatus(2, msg);
- nullsub_87("LINK LOSS DISCONNECT!", 5, 5);
+ rfu_dbg_print_str("LINK LOSS DISCONNECT!", 5, 5);
if (gReceivedRemoteLinkPlayers == 1)
GetLinkmanErrorParams(msg);
break;
case LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY:
Rfu.linkLossRecoveryState = 1;
- nullsub_87("LINK LOSS RECOVERY NOW", 5, 5);
+ rfu_dbg_print_str("LINK LOSS RECOVERY NOW", 5, 5);
break;
case LMAN_MSG_LINK_RECOVERY_SUCCESSED:
Rfu.linkLossRecoveryState = 3;
@@ -2191,14 +2193,14 @@ static void sub_80FB564(s32 bmConnectedFlag)
}
}
-static u8 sub_80FB5A0(s32 a0)
+static u8 GetNewChildrenInUnionRoomChat(s32 bmNewChildSlot)
{
u8 ret = 0;
u8 i;
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if ((a0 >> i) & 1)
+ if ((bmNewChildSlot >> i) & 1)
{
struct GFtgtGname *structPtr = (void *)&gRfuLinkStatus->partner[i].gname;
if (structPtr->activity == (ACTIVITY_CHAT | IN_UNION_ROOM))
@@ -2224,24 +2226,24 @@ static void LmanCallback_Parent(u8 msg, u8 param_count)
case LMAN_MSG_NEW_CHILD_CONNECT_ACCEPTED:
if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && Rfu.unk_cd9 == 0)
{
- u8 idx = sub_80FB5A0(lman.param[0]);
- if (idx != 0)
+ u8 bmAcceptSlot = GetNewChildrenInUnionRoomChat(lman.param[0]);
+ if (bmAcceptSlot != 0)
{
- r1 = 1 << sub_80F886C(idx);
- if (Rfu.unk_ce6 == 0 && !Rfu.unk_ce8)
+ r1 = 1 << sub_80F886C(bmAcceptSlot);
+ if (Rfu.unionRoomChatters == 0 && !Rfu.unk_ce8)
{
Rfu.unk_ce5 = r1;
- Rfu.unk_ce6 |= (r1 ^ idx);
+ Rfu.unionRoomChatters |= (r1 ^ bmAcceptSlot);
Rfu.unk_ce8 = TRUE;
}
else
{
- Rfu.unk_ce6 |= idx;
+ Rfu.unionRoomChatters |= bmAcceptSlot;
}
}
- if (idx != lman.param[0])
+ if (bmAcceptSlot != lman.param[0])
{
- Rfu.bm_DisconnectSlot |= (idx ^ lman.param[0]);
+ Rfu.bm_DisconnectSlot |= (bmAcceptSlot ^ lman.param[0]);
Rfu.unk_ce4 = 2;
}
}
@@ -2326,7 +2328,7 @@ static void LmanCallback_Parent(u8 msg, u8 param_count)
rfu_LMAN_stopManager(0);
}
- if (gRfuLinkStatus->parentChild == MODE_NEUTRAL && lman.pcswitch_flag == 0 && FuncIsActiveTask(sub_80F8B34) == TRUE)
+ if (gRfuLinkStatus->parentChild == MODE_NEUTRAL && lman.pcswitch_flag == 0 && FuncIsActiveTask(Task_LinkRfu_UnionRoomListen) == TRUE)
Rfu.state = 17;
RfuSetErrorStatus(2, msg);
@@ -2418,7 +2420,7 @@ static void sub_80FBA78(void)
if (IsWirelessAdapterConnected())
{
gLinkType = LINKTYPE_0x1111;
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
SeedRng(gMain.vblankCounter2);
for (i = 0; i < RFU_CHILD_MAX; i++)
@@ -2429,25 +2431,25 @@ static void sub_80FBA78(void)
AnimateSprites();
BuildOamBuffer();
UpdatePaletteFade();
- sub_80FBB20();
+ LinkRfu_CreateIdleTask();
SetMainCallback2(sub_80FBB74);
}
}
-bool32 sub_80FBB0C(void)
+bool32 IsUnionRoomListenTaskActive(void)
{
- return FuncIsActiveTask(sub_80F8B34);
+ return FuncIsActiveTask(Task_LinkRfu_UnionRoomListen);
}
-void sub_80FBB20(void)
+void LinkRfu_CreateIdleTask(void)
{
- if (!FuncIsActiveTask(nullsub_89))
- Rfu.unk_66 = CreateTask(nullsub_89, 0);
+ if (!FuncIsActiveTask(Task_idle))
+ Rfu.unk_66 = CreateTask(Task_idle, 0);
}
-void sub_80FBB4C(void)
+void LinkRfu_DestroyIdleTask(void)
{
- if (FuncIsActiveTask(nullsub_89) == TRUE)
+ if (FuncIsActiveTask(Task_idle) == TRUE)
DestroyTask(Rfu.unk_66);
}
@@ -2477,7 +2479,7 @@ void InitializeRfuLinkManager_JoinGroup(void)
CreateTask_JoinGroupSearchForParent();
}
-void sub_80FBC00(void)
+void InitializeRfuLinkManager_EnterUnionRoom(void)
{
if (gQuestLogState == 2 || gQuestLogState == 3)
return;
@@ -2487,7 +2489,7 @@ void sub_80FBC00(void)
sRfuReqConfig = sRfuReqConfigTemplate;
sRfuReqConfig.linkRecovery_enable = 0;
sRfuReqConfig.linkRecovery_period = 600;
- Rfu.unk_67 = CreateTask(sub_80F8B34, 1);
+ Rfu.unk_67 = CreateTask(Task_LinkRfu_UnionRoomListen, 1);
}
static u16 ReadU16(const void *ptr)
@@ -2550,7 +2552,7 @@ void sub_80FBD6C(u32 a0)
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if (Rfu.unk_cde[i] == a0 && (Rfu.bm_PartnerFlags >> i) & 1)
+ if (Rfu.linkPlayerIdx[i] == a0 && (Rfu.bm_PartnerFlags >> i) & 1)
var |= 1 << i;
}
if (var)
@@ -2587,7 +2589,7 @@ static void sub_80FBE20(u32 a0, u32 a1)
gTasks[taskId].data[1] = a1;
}
-static void sub_80FBE80(u8 taskId)
+static void Task_RfuReconnectWithParent(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2598,7 +2600,7 @@ static void sub_80FBE80(u8 taskId)
{
if (gRfuLinkStatus->partner[id].slot != 0xFF)
{
- Rfu.unk_c3d = id;
+ Rfu.reconnectedParentIdx = id;
if (IsParentSuccessfullyReconnected())
DestroyTask(taskId);
}
@@ -2615,7 +2617,7 @@ static void sub_80FBE80(u8 taskId)
else
{
data[15]++;
- Rfu.unk_c3d = id;
+ Rfu.reconnectedParentIdx = id;
}
}
else
@@ -2630,13 +2632,13 @@ static void sub_80FBE80(u8 taskId)
}
}
-void CreateTask_sub_80FBE80(const u8 *trainerName, u16 trainerId)
+void CreateTask_RfuReconnectWithParent(const u8 *trainerName, u16 trainerId)
{
u8 taskId;
s16 *data;
Rfu.unk_f1 = 0;
- taskId = CreateTask(sub_80FBE80, 3);
+ taskId = CreateTask(Task_RfuReconnectWithParent, 3);
data = gTasks[taskId].data;
StringCopy((u8*)(data), trainerName);
data[8] = trainerId;
@@ -2719,7 +2721,7 @@ void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 activity)
rfu_LMAN_forceChangeSP();
taskId = CreateTask(sub_80FC028, 2);
gTasks[taskId].data[1] = activity;
- taskId2 = FindTaskIdByFunc(sub_80F8B34);
+ taskId2 = FindTaskIdByFunc(Task_LinkRfu_UnionRoomListen);
if (activity == (ACTIVITY_CHAT | IN_UNION_ROOM))
{
if (taskId2 != 0xFF)
@@ -2753,12 +2755,12 @@ bool32 sub_80FC1CC(void)
return TRUE;
}
-static void sub_80FC208(void)
+static void rfu_dbg_clear(void)
{
s32 i;
for (i = 0; i < 20; i++)
- nullsub_87(" ", 0, i);
+ rfu_dbg_print_str(" ", 0, i);
}
static const char gUnknown_843EE47[16] = {
@@ -2774,44 +2776,44 @@ static const char gUnknown_843EE57[9] = {
static const char gUnknown_843EE60[] = {' ', '\0'};
static const char gUnknown_843EE62[] = {'*', '\0'};
-static void sub_80FC228(void)
+static void rfu_dbg_print_status(void)
{
s32 i, j;
- nullsub_88(GetBlockReceivedStatus(), 0x1C, 0x13, 2);
- nullsub_88(gRfuLinkStatus->connSlotFlag, 0x14, 1, 1);
- nullsub_88(gRfuLinkStatus->linkLossSlotFlag, 0x17, 1, 1);
+ rfu_dbg_print_num(GetBlockReceivedStatus(), 0x1C, 0x13, 2);
+ rfu_dbg_print_num(gRfuLinkStatus->connSlotFlag, 0x14, 1, 1);
+ rfu_dbg_print_num(gRfuLinkStatus->linkLossSlotFlag, 0x17, 1, 1);
if (Rfu.parent_child == MODE_PARENT)
{
for (i = 0; i < RFU_CHILD_MAX; i++)
{
if ((gRfuLinkStatus->getNameFlag >> i) & 1)
{
- nullsub_88(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4);
- nullsub_87((void*) &gRfuLinkStatus->partner[i].gname, 6, i + 3);
- nullsub_87(gRfuLinkStatus->partner[i].uname, 0x16, i + 3);
+ rfu_dbg_print_num(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4);
+ rfu_dbg_print_str((void*) &gRfuLinkStatus->partner[i].gname, 6, i + 3);
+ rfu_dbg_print_str(gRfuLinkStatus->partner[i].uname, 0x16, i + 3);
}
}
for (i = 0; i < RFU_CHILD_MAX; i++)
{
for (j = 0; j < 14; j++)
{
- nullsub_88(Rfu.unk_14[i][j], j * 2, i + 11, 2);
+ rfu_dbg_print_num(Rfu.unk_14[i][j], j * 2, i + 11, 2);
}
}
- nullsub_87("NOWSLOT", 1, 0xF);
+ rfu_dbg_print_str("NOWSLOT", 1, 0xF);
}
else if (gRfuLinkStatus->connSlotFlag != 0 && gRfuLinkStatus->getNameFlag != 0)
{
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- nullsub_88(0, 1, i + 3, 4);
- nullsub_87(gUnknown_843EE47, 6, i + 3);
- nullsub_87(gUnknown_843EE57, 0x16, i + 3);
+ rfu_dbg_print_num(0, 1, i + 3, 4);
+ rfu_dbg_print_str(gUnknown_843EE47, 6, i + 3);
+ rfu_dbg_print_str(gUnknown_843EE57, 0x16, i + 3);
}
- nullsub_88(gRfuLinkStatus->partner[Rfu.child_slot].serialNo, 1, 3, 4);
- nullsub_87(gRfuLinkStatus->partner[Rfu.child_slot].gname, 6, 3);
- nullsub_87(gRfuLinkStatus->partner[Rfu.child_slot].uname, 0x16, 3);
+ rfu_dbg_print_num(gRfuLinkStatus->partner[Rfu.child_slot].serialNo, 1, 3, 4);
+ rfu_dbg_print_str(gRfuLinkStatus->partner[Rfu.child_slot].gname, 6, 3);
+ rfu_dbg_print_str(gRfuLinkStatus->partner[Rfu.child_slot].uname, 0x16, 3);
}
else
{
@@ -2819,16 +2821,16 @@ static void sub_80FC228(void)
{
if (gRfuLinkStatus->partner[i].slot != 0xFF)
{
- nullsub_88(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4);
- nullsub_88(gRfuLinkStatus->partner[i].id, 6, i + 3, 4);
- nullsub_87(gRfuLinkStatus->partner[i].uname, 0x16, i + 3);
+ rfu_dbg_print_num(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4);
+ rfu_dbg_print_num(gRfuLinkStatus->partner[i].id, 6, i + 3, 4);
+ rfu_dbg_print_str(gRfuLinkStatus->partner[i].uname, 0x16, i + 3);
}
}
for (; i < RFU_CHILD_MAX; i++)
{
- nullsub_88(0, 1, i + 3, 4);
- nullsub_87(gUnknown_843EE47, 6, i + 3);
- nullsub_87(gUnknown_843EE57, 0x16, i + 3);
+ rfu_dbg_print_num(0, 1, i + 3, 4);
+ rfu_dbg_print_str(gUnknown_843EE47, 6, i + 3);
+ rfu_dbg_print_str(gUnknown_843EE57, 0x16, i + 3);
}
}
}
@@ -2857,7 +2859,7 @@ u32 GetRfuRecvQueueLength(void)
return Rfu.unk_124.count;
}
-static void nullsub_89(u8 taskId)
+static void Task_idle(u8 taskId)
{
}
diff --git a/src/save.c b/src/save.c
index a2d365886..3db8dcdbf 100644
--- a/src/save.c
+++ b/src/save.c
@@ -856,7 +856,7 @@ void sub_80DA634(u8 taskId)
gTasks[taskId].data[0] = 1;
break;
case 1:
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gTasks[taskId].data[0] = 2;
break;
case 2:
@@ -890,7 +890,7 @@ void sub_80DA634(u8 taskId)
break;
case 7:
ClearContinueGameWarpStatus2();
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gTasks[taskId].data[0] = 8;
break;
case 8:
@@ -901,7 +901,7 @@ void sub_80DA634(u8 taskId)
}
break;
case 9:
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gTasks[taskId].data[0] = 10;
break;
case 10:
diff --git a/src/trade.c b/src/trade.c
index e0f1c136d..2ee4b39fc 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -765,9 +765,9 @@ static void sub_804C728(void)
if (gWirelessCommType)
{
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
- sub_80FBB20();
+ LinkRfu_CreateIdleTask();
}
else
{
@@ -810,14 +810,14 @@ static void sub_804C728(void)
case 4:
if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE)
{
- sub_80FBB4C();
+ LinkRfu_DestroyIdleTask();
CalculatePlayerPartyCount();
gMain.state++;
sTradeMenuResourcesPtr->unk_A8 = 0;
if (gWirelessCommType)
{
sub_80FA484(TRUE);
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
}
}
break;
@@ -2004,7 +2004,7 @@ static void sub_804E908(void)
{
if (gWirelessCommType)
{
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
}
else
{
@@ -2044,7 +2044,7 @@ static void sub_804E9C0(void)
{
if (!sub_80FA484(FALSE))
{
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
sTradeMenuResourcesPtr->unk_6F = 13;
}
}
diff --git a/src/trade_scene.c b/src/trade_scene.c
index d6931f1f7..601d7ae2b 100644
--- a/src/trade_scene.c
+++ b/src/trade_scene.c
@@ -2556,7 +2556,7 @@ static void sub_8053E8C(void)
DrawTextOnTradeWindow(0, gStringVar4, 0);
break;
case 1:
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gMain.state = 100;
sTradeData->timer = 0;
break;
@@ -2641,7 +2641,7 @@ static void sub_8053E8C(void)
case 41:
if (sTradeData->timer == 0)
{
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gMain.state = 42;
}
else
@@ -2660,7 +2660,7 @@ static void sub_8053E8C(void)
if (++sTradeData->timer > 60)
{
gMain.state++;
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
}
break;
case 6:
@@ -2682,7 +2682,7 @@ static void sub_8053E8C(void)
{
if (gWirelessCommType && gMain.savedCallback == CB2_ReturnFromLinkTrade)
{
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
}
else
{
diff --git a/src/union_room.c b/src/union_room.c
index b84145c6d..2f3c42873 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -66,8 +66,8 @@ static void Task_TryBecomeLinkLeader(u8 taskId);
static void Leader_DestroyResources(struct UnkStruct_Leader * leader);
static bool8 Leader_SetStateIfMemberListChanged(struct UnkStruct_Leader * leader, u32 state1, u32 state2);
static void ItemPrintFunc_PossibleGroupMembers(u8 windowId, s32 itemId, u8 y);
-static u8 LeaderUpdateGroupMembership(struct UnkStruct_Main0 * a0);
-static u8 UnionRoomLeaderField0CompactionAndCount(struct UnkStruct_Main0 * a0);
+static u8 LeaderUpdateGroupMembership(struct UnkStruct_Main0 * main0);
+static u8 UnionRoomLeaderField0CompactionAndCount(struct UnkStruct_Main0 * main0);
static void Task_TryJoinLinkGroup(u8 taskId);
static u32 IsTryingToTradeWithHoennTooSoon(struct UnkStruct_Group * group, s32 id);
static void AskToJoinRfuGroup(struct UnkStruct_Group * group, s32 id);
@@ -79,16 +79,16 @@ static void CreateTask_StartActivity(void);
static void Task_MEvent_Leader(u8 taskId);
static void Task_CardOrNewsWithFriend(u8 taskId);
static void Task_CardOrNewsOverWireless(u8 taskId);
-static void Task_ResumeUnionRoom(u8 taskId);
+static void Task_RunUnionRoom(u8 taskId);
static u16 ReadAsU16(const u8 *data);
static void ReceiveUnionRoomActivityPacket(struct UnkStruct_URoom * uRoom);
static bool32 UnionRoom_HandleContactFromOtherPlayer(struct UnkStruct_URoom * uRoom);
static void Task_InitUnionRoom(u8 taskId);
static u8 HandlePlayerListUpdate(void);
-static u8 CreateTask_SearchForChildOrParent(struct UnkStruct_Main4 * arg0, struct UnkStruct_Main4 * arg1, u32 arg2);
-static bool32 GetGnameWonderFlagByLinkGroup(struct GFtgtGname * gname, s16 arg1);
-static u8 CreateTask_ListenForPartnersWithCompatibleSerialNos(struct UnkStruct_Main4 * arg0, u32 linkGroup);
-static u8 CreateTask_ListenForPartnersWithSerial7F7D(struct UnkStruct_Main4 * arg0, u32 linkGroup);
+static u8 CreateTask_SearchForChildOrParent(struct UnkStruct_Main4 * main4, struct UnkStruct_Main4 * arg1, u32 arg2);
+static bool32 GetGnameWonderFlagByLinkGroup(struct GFtgtGname * gname, s16 linkGroup);
+static u8 CreateTask_ListenForPartnersWithCompatibleSerialNos(struct UnkStruct_Main4 * main4, u32 linkGroup);
+static u8 CreateTask_ListenForPartnersWithSerial7F7D(struct UnkStruct_Main4 * main4, u32 linkGroup);
static bool32 UR_PrintFieldMessage(const u8 * str);
static bool32 UR_RunTextPrinters_CheckPrinter0Active(void);
static bool8 PrintOnTextbox(u8 *textState, const u8 *str);
@@ -98,27 +98,27 @@ static s32 TradeBoardMenuHandler(u8 *state_p, u8 *win_id_p, u8 *list_menu_id_p,
static void UR_BlankBg0(void);
static void JoinGroup_BlankBg0AndEnableScriptContexts(void);
static void UR_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx);
-static void BlankUnkStruct_x20Array(struct UnkStruct_x20 * arg0, u8 count);
-static void BlankUnkStruct_x1CArray(struct UnkStruct_x1C * arg0, u8 count);
+static void BlankUnkStruct_x20Array(struct UnkStruct_x20 * x20, u8 count);
+static void BlankUnkStruct_x1CArray(struct UnkStruct_x1C * x1C, u8 count);
static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * arg0, const struct UnionGnameUnamePair * arg1);
static bool32 AreUnionRoomPlayerGnamesDifferent(struct UnionGnameUnamePair * arg0, struct UnionGnameUnamePair * arg1);
-static u32 Findx20Inx1CArray(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1);
+static u32 Findx20Inx1CArray(struct UnkStruct_x20 * x20, struct UnkStruct_x1C * x1Carr);
static u8 Appendx1Ctox20(struct UnkStruct_x20 * x20arr, struct UnkStruct_x1C * x1C, u8 count);
static void PrintUnionRoomGroupOnWindow(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * group, u8 colorIdx, u8 id);
static void PrintGroupMemberCandidateOnWindowWithColor(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * group, u8 colorIdx, u8 id);
static bool32 PlayerIsTalkingToUnionRoomAide(void);
static u32 GetResponseIdx_InviteToURoomActivity(s32 activity);
static u32 ConvPartnerUnameAndGetWhetherMetAlready(struct UnkStruct_x20 * unkX20);
-static s32 UnionRoomGetPlayerInteractionResponse(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender);
+static s32 UnionRoomGetPlayerInteractionResponse(struct UnkStruct_Main0 * main0, u8 overrideGender, u8 playerIdx, u32 playerGender);
static void nullsub_92(u8 windowId, s32 itemId, u8 y);
static void TradeBoardListMenuItemPrintFunc(u8 windowId, s32 itemId, u8 y);
-static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * arg, s32 arg1);
-static s32 GetUnionRoomPlayerGender(s32 a0, struct UnkStruct_Main0 * a1);
+static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * x20, s32 n);
+static s32 GetUnionRoomPlayerGender(s32 playerIdx, struct UnkStruct_Main0 * main0);
static s32 IsRequestedTypeAndSpeciesInPlayerParty(u32 type, u32 species);
-static void GetURoomActivityRejectMsg(u8 *dst, s32 arg1, u32 playerGender);
-static void GetURoomActivityStartMsg(u8 *dst, u8 arg1);
-static s32 GetChatLeaderActionRequestMessage(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * arg3);
-static bool32 PollPartnerYesNoResponse(struct UnkStruct_URoom * arg0);
+static void GetURoomActivityRejectMsg(u8 *dst, s32 activity, u32 playerGender);
+static void GetURoomActivityStartMsg(u8 *dst, u8 activity);
+static s32 GetChatLeaderActionRequestMessage(u8 *dst, u32 gender, u16 *activity_p, struct UnkStruct_URoom * uroom);
+static bool32 PollPartnerYesNoResponse(struct UnkStruct_URoom * uroom);
static bool32 HasAtLeastTwoMonsOfLevel30OrLower(void);
static void ResetUnionRoomTrade(struct UnionRoomTrade * trade);
static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade * trade);
@@ -127,8 +127,8 @@ static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade * trade, u8 mpI
static void HandleCancelTrade(bool32 unlockObjs);
static void UR_EnableScriptContext2AndFreezeObjectEvents(void);
static u8 GetSinglePartnerSpriteGenderParam(s32 linkPlayer);
-static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * arg0);
-static void ViewURoomPartnerTrainerCard(u8 *dest, struct UnkStruct_URoom * uRoom, bool8 gender);
+static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * uroom);
+static void ViewURoomPartnerTrainerCard(u8 *dest, struct UnkStruct_URoom * uRoom, bool8 parent_child);
#define _8456CD8(a, b) ((a) | ((b) << 8))
@@ -664,7 +664,7 @@ static const u8 sUnref_84570D1[] = _("{DYNAMIC 00}·{DYNAMIC 01}");
_maxWidth - strWidth; \
})
-// arg1 is a 2-nybble code
+// capacityCode is a 2-nybble code
// Bits 0-3: Capacity
// Bits 4-7: Min required (if 0, must have exactly Capacity players
static void PrintNumPlayersWaitingForMsg(u8 windowId, u8 capacityCode, u8 count)
@@ -745,7 +745,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId)
sPlayerCurrActivity = sLinkGroupToActivityAndCapacity[gSpecialVar_0x8004];
sPlayerActivityGroupSize = sLinkGroupToActivityAndCapacity[gSpecialVar_0x8004] >> 8;
SetHostRFUtgtGname(sPlayerCurrActivity, 0, 0);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
InitializeRfuLinkManager_LinkLeader(sPlayerActivityGroupSize & 0xF);
data->state = 3;
@@ -823,7 +823,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId)
&& JOY_NEW(START_BUTTON))
{
data->state = 15;
- sub_80F8F5C();
+ LinkRfu_StopManagerAndFinalizeSlots();
}
if (data->state == 6 && sub_80FA5D4())
{
@@ -905,7 +905,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId)
data->state = 13;
}
- sub_80F8F5C();
+ LinkRfu_StopManagerAndFinalizeSlots();
PrintNumPlayersWaitingForMsg(data->nPlayerModeWindowId, sPlayerActivityGroupSize, data->playerCount);
}
else
@@ -1289,7 +1289,7 @@ static void Task_TryJoinLinkGroup(u8 taskId)
case 0:
SetHostRFUtgtGname(sLinkGroupToURoomActivity[gSpecialVar_0x8004], 0, 0);
sPlayerCurrActivity = sLinkGroupToURoomActivity[gSpecialVar_0x8004];
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
InitializeRfuLinkManager_JoinGroup();
data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C));
@@ -1559,7 +1559,7 @@ static void AskToJoinRfuGroup(struct UnkStruct_Group * data, s32 id)
RedrawListMenu(data->listTaskId);
IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->leaderId]);
UpdateGameDataWithActivitySpriteGendersFlag(sLinkGroupToURoomActivity[gSpecialVar_0x8004], 0, TRUE);
- CreateTask_sub_80FBE80(data->field_0->arr[data->leaderId].gname_uname.uname, ReadAsU16(data->field_0->arr[data->leaderId].gname_uname.gname.unk_00.playerTrainerId));
+ CreateTask_RfuReconnectWithParent(data->field_0->arr[data->leaderId].gname_uname.uname, ReadAsU16(data->field_0->arr[data->leaderId].gname_uname.gname.unk_00.playerTrainerId));
}
u8 CreateTask_ListenToWireless(void)
@@ -1586,7 +1586,7 @@ static void Task_ListenToWireless(u8 taskId)
{
case 0:
SetHostRFUtgtGname(0, 0, 0);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
InitializeRfuLinkManager_JoinGroup();
sub_80FB128(TRUE);
@@ -1882,7 +1882,7 @@ static void CB2_TransitionToCableClub(void)
break;
case 1:
if (!FuncIsActiveTask(Task_ExchangeCards))
- SetMainCallback2(sub_8056788);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
break;
}
@@ -2022,7 +2022,7 @@ static void Task_RunScriptAndFadeToActivity(u8 taskId)
case 2:
if (!gPaletteFade.active)
{
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
data[0]++;
}
break;
@@ -2074,7 +2074,7 @@ static void Task_MEvent_Leader(u8 taskId)
sPlayerActivityGroupSize = 2;
SetHostRFUtgtGname(data->activity, 0, 0);
SetGnameBufferWonderFlags(FALSE, FALSE);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
InitializeRfuLinkManager_LinkLeader(2);
data->state = 1;
@@ -2165,7 +2165,7 @@ static void Task_MEvent_Leader(u8 taskId)
IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->playerCount - 1]);
StringExpandPlaceholders(gStringVar4, gUnknown_8457554);
data->state = 9;
- sub_80F8F5C();
+ LinkRfu_StopManagerAndFinalizeSlots();
}
else
{
@@ -2246,7 +2246,7 @@ static void Task_MEvent_Leader(u8 taskId)
Free(data->field_8);
Free(data->field_0);
Free(data->field_4);
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
data->state++;
break;
case 17:
@@ -2281,7 +2281,7 @@ static void Task_CardOrNewsWithFriend(u8 taskId)
{
case 0:
SetHostRFUtgtGname(data->cardOrNews + ACTIVITY_WCARD2, 0, 0);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
InitializeRfuLinkManager_JoinGroup();
data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C));
@@ -2342,7 +2342,7 @@ static void Task_CardOrNewsWithFriend(u8 taskId)
CreateWirelessStatusIndicatorSprite(0, 0);
RedrawListMenu(data->listTaskId);
IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->leaderId]);
- CreateTask_sub_80FBE80(data->field_0->arr[data->leaderId].gname_uname.uname, ReadAsU16(data->field_0->arr[data->leaderId].gname_uname.gname.unk_00.playerTrainerId));
+ CreateTask_RfuReconnectWithParent(data->field_0->arr[data->leaderId].gname_uname.uname, ReadAsU16(data->field_0->arr[data->leaderId].gname_uname.gname.unk_00.playerTrainerId));
PlaySE(SE_PN_ON);
data->state = 4;
}
@@ -2413,7 +2413,7 @@ static void Task_CardOrNewsWithFriend(u8 taskId)
break;
case 11:
data->state++;
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
break;
case 12:
if (IsLinkTaskFinished())
@@ -2447,7 +2447,7 @@ static void Task_CardOrNewsOverWireless(u8 taskId)
{
case 0:
SetHostRFUtgtGname(0, 0, 0);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
InitializeRfuLinkManager_JoinGroup();
data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C));
@@ -2503,7 +2503,7 @@ static void Task_CardOrNewsOverWireless(u8 taskId)
data->refreshTimer = 0;
LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
- CreateTask_sub_80FBE80(data->field_0->arr[0].gname_uname.uname, ReadAsU16(data->field_0->arr[0].gname_uname.gname.unk_00.playerTrainerId));
+ CreateTask_RfuReconnectWithParent(data->field_0->arr[0].gname_uname.uname, ReadAsU16(data->field_0->arr[0].gname_uname.gname.unk_00.playerTrainerId));
PlaySE(SE_PN_ON);
data->state = 4;
}
@@ -2592,7 +2592,7 @@ static void Task_CardOrNewsOverWireless(u8 taskId)
break;
case 13:
data->state++;
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
break;
case 14:
if (IsLinkTaskFinished())
@@ -2606,7 +2606,7 @@ void UnionRoomSpecial(void)
struct UnkStruct_URoom * dataPtr;
ClearAndInitHostRFUtgtGname();
- CreateTask(Task_ResumeUnionRoom, 10);
+ CreateTask(Task_RunUnionRoom, 10);
// dumb line needed to match
sUnionRoomMain.uRoom = sUnionRoomMain.uRoom;
@@ -2658,7 +2658,7 @@ static void RestoreURoomField0FromDecompressionBuffer(struct UnkStruct_URoom * d
memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 8 * sizeof(struct UnkStruct_x20));
}
-static void Task_ResumeUnionRoom(u8 taskId)
+static void Task_RunUnionRoom(u8 taskId)
{
u32 id = 0;
s32 var5 = 0;
@@ -2675,7 +2675,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
data->field_8 = AllocZeroed(sizeof(struct UnkStruct_x20));
BlankUnkStruct_x20Array(data->field_0->arr, 8);
sPlayerCurrActivity = IN_UNION_ROOM;
- data->field_20 = CreateTask_SearchForChildOrParent(data->field_C, data->field_4, 9);
+ data->field_20 = CreateTask_SearchForChildOrParent(data->field_C, data->field_4, LINK_GROUP_UNION_ROOM_RESUME);
ZeroUnionObjWork(data->unionObjs);
MakeGroupAssemblyAreasPassable();
data->state = 1;
@@ -2688,9 +2688,9 @@ static void Task_ResumeUnionRoom(u8 taskId)
case 2:
SetHostRFUtgtGname(IN_UNION_ROOM, 0, 0);
RfuUpdatePlayerGnameStateAndSend(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
- sub_80FBC00();
+ InitializeRfuLinkManager_EnterUnionRoom();
BlankUnkStruct_x20Array(&data->field_8->arr[0], 1);
BlankUnkStruct_x1CArray(data->field_4->arr, 4);
BlankUnkStruct_x1CArray(data->field_C->arr, 4);
@@ -2845,7 +2845,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
break;
case 1:
case 2:
- if (sub_80FBB0C() == TRUE)
+ if (IsUnionRoomListenTaskActive() == TRUE)
UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8457F90);
else
UnionRoom_ScheduleFieldMessageWithFollowupState(30, gUnknown_8457F90);
@@ -2958,7 +2958,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
{
if (sPlayerCurrActivity == ACTIVITY_CARD)
{
- ViewURoomPartnerTrainerCard(gStringVar4, data, FALSE);
+ ViewURoomPartnerTrainerCard(gStringVar4, data, MODE_CHILD);
data->state = 40;
}
else
@@ -2984,7 +2984,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
if (PrintOnTextbox(&data->textState, gStringVar4))
{
data->state = 41;
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
data->partnerYesNoResponse = 0;
data->recvActivityRequest[0] = 0;
}
@@ -3042,7 +3042,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
case 2:
playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0);
UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE);
- if (sub_80FBB0C() == TRUE)
+ if (IsUnionRoomListenTaskActive() == TRUE)
UnionRoom_ScheduleFieldMessageAndExit(gUnknown_84585E8[playerGender]);
else
UnionRoom_ScheduleFieldMessageWithFollowupState(30, gUnknown_84585E8[playerGender]);
@@ -3058,7 +3058,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
{
playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0);
UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE);
- if (sub_80FBB0C() == TRUE)
+ if (IsUnionRoomListenTaskActive() == TRUE)
UnionRoom_ScheduleFieldMessageAndExit(gUnknown_84585E8[playerGender]);
else
UnionRoom_ScheduleFieldMessageWithFollowupState(30, gUnknown_84585E8[playerGender]);
@@ -3143,7 +3143,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
else if (sPlayerCurrActivity == (ACTIVITY_CARD | IN_UNION_ROOM))
{
RfuPrepareSend0x2f00(data->playerSendBuffer);
- ViewURoomPartnerTrainerCard(gStringVar4, data, 1);
+ ViewURoomPartnerTrainerCard(gStringVar4, data, MODE_PARENT);
data->state = 40;
}
else
@@ -3185,7 +3185,7 @@ static void Task_ResumeUnionRoom(u8 taskId)
UnionRoom_ScheduleFieldMessageWithFollowupState(14, gStringVar4);
break;
case 14:
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
data->state = 15;
break;
case 15:
@@ -3416,37 +3416,37 @@ void var_800D_set_xB(void)
gSpecialVar_Result = 11;
}
-static void ReceiveUnionRoomActivityPacket(struct UnkStruct_URoom * arg0)
+static void ReceiveUnionRoomActivityPacket(struct UnkStruct_URoom * uroom)
{
if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == RFU_COMMAND_0x2f00)
{
- arg0->recvActivityRequest[0] = gRecvCmds[1][1];
+ uroom->recvActivityRequest[0] = gRecvCmds[1][1];
if (gRecvCmds[1][1] == (ACTIVITY_TRADE | IN_UNION_ROOM))
{
- arg0->recvActivityRequest[1] = gRecvCmds[1][2];
- arg0->recvActivityRequest[2] = gRecvCmds[1][3];
+ uroom->recvActivityRequest[1] = gRecvCmds[1][2];
+ uroom->recvActivityRequest[2] = gRecvCmds[1][3];
}
}
}
-static bool32 UnionRoom_HandleContactFromOtherPlayer(struct UnkStruct_URoom * arg0)
+static bool32 UnionRoom_HandleContactFromOtherPlayer(struct UnkStruct_URoom * uroom)
{
- if (arg0->recvActivityRequest[0] != 0)
+ if (uroom->recvActivityRequest[0] != 0)
{
- s32 var = GetChatLeaderActionRequestMessage(gStringVar4, gLinkPlayers[1].gender, &arg0->recvActivityRequest[0], arg0);
+ s32 var = GetChatLeaderActionRequestMessage(gStringVar4, gLinkPlayers[1].gender, &uroom->recvActivityRequest[0], uroom);
if (var == 0)
{
return TRUE;
}
else if (var == 1)
{
- arg0->state = 35;
- sPlayerCurrActivity = arg0->recvActivityRequest[0];
+ uroom->state = 35;
+ sPlayerCurrActivity = uroom->recvActivityRequest[0];
return FALSE;
}
else if (var == 2)
{
- arg0->state = 36;
+ uroom->state = 36;
Link_TryStartSend5FFF();
return FALSE;
}
@@ -3486,9 +3486,9 @@ static void Task_InitUnionRoom(u8 taskId)
break;
case 1:
SetHostRFUtgtGname(ACTIVITY_SEARCH, 0, 0);
- sub_800B1F4();
+ SetWirelessCommType1();
OpenLink();
- sub_80FBC00();
+ InitializeRfuLinkManager_EnterUnionRoom();
sub_80FB128(TRUE);
structPtr->state = 2;
break;
@@ -3501,7 +3501,7 @@ static void Task_InitUnionRoom(u8 taskId)
BlankUnkStruct_x20Array(structPtr->field_0->arr, 8);
structPtr->field_8 = AllocZeroed(sizeof(struct UnkStruct_x20));
BlankUnkStruct_x20Array(&structPtr->field_8->arr[0], 1);
- structPtr->field_20 = CreateTask_SearchForChildOrParent(structPtr->field_C, structPtr->field_4, 10);
+ structPtr->field_20 = CreateTask_SearchForChildOrParent(structPtr->field_C, structPtr->field_4, LINK_GROUP_UNION_ROOM_INIT);
structPtr->state = 3;
break;
case 3:
@@ -3645,48 +3645,48 @@ static u8 HandlePlayerListUpdate(void)
static void Task_SearchForChildOrParent(u8 taskId)
{
s32 i, j;
- struct UnionGnameUnamePair sp0;
+ struct UnionGnameUnamePair gname_uname;
struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data;
bool8 parent_child;
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- parent_child = LinkRfu_GetNameIfCompatible(&sp0.gname, sp0.uname, i);
- if (!IsPartnerActivityAcceptable(sp0.gname.activity, gTasks[taskId].data[4]))
+ parent_child = LinkRfu_GetNameIfCompatible(&gname_uname.gname, gname_uname.uname, i);
+ if (!IsPartnerActivityAcceptable(gname_uname.gname.activity, gTasks[taskId].data[4]))
{
- sp0 = sUnionGnameUnamePair_Dummy;
+ gname_uname = sUnionGnameUnamePair_Dummy;
}
- if (sp0.gname.unk_00.language == LANGUAGE_JAPANESE)
+ if (gname_uname.gname.unk_00.language == LANGUAGE_JAPANESE)
{
- sp0 = sUnionGnameUnamePair_Dummy;
+ gname_uname = sUnionGnameUnamePair_Dummy;
}
- if (!parent_child)
+ if (parent_child == MODE_CHILD)
{
for (j = 0; j < i; j++)
{
- if (!AreGnameUnameDifferent(&ptr[1]->arr[j].gname_uname, &sp0))
+ if (!AreGnameUnameDifferent(&ptr[1]->arr[j].gname_uname, &gname_uname))
{
- sp0 = sUnionGnameUnamePair_Dummy;
+ gname_uname = sUnionGnameUnamePair_Dummy;
}
}
- ptr[1]->arr[i].gname_uname = sp0;
+ ptr[1]->arr[i].gname_uname = gname_uname;
ptr[1]->arr[i].active = AreGnameUnameDifferent(&ptr[1]->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy);
}
else
{
- ptr[0]->arr[i].gname_uname = sp0;
+ ptr[0]->arr[i].gname_uname = gname_uname;
ptr[0]->arr[i].active = AreGnameUnameDifferent(&ptr[0]->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy);
}
}
}
-static u8 CreateTask_SearchForChildOrParent(struct UnkStruct_Main4 * a0, struct UnkStruct_Main4 * a1, u32 a2)
+static u8 CreateTask_SearchForChildOrParent(struct UnkStruct_Main4 * main4_parent, struct UnkStruct_Main4 * main4_child, u32 linkGroup)
{
u8 taskId = CreateTask(Task_SearchForChildOrParent, 0);
struct UnkStruct_Main4 ** data = (void *)gTasks[taskId].data;
- data[0] = a0;
- data[1] = a1;
- gTasks[taskId].data[4] = a2;
+ data[0] = main4_parent;
+ data[1] = main4_child;
+ gTasks[taskId].data[4] = linkGroup;
return taskId;
}
@@ -4044,38 +4044,38 @@ static void UR_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str
AddTextPrinter(&printerTemplate, 0xFF, NULL);
}
-static void BlankUnkStruct_x20Array(struct UnkStruct_x20 * arg0, u8 count)
+static void BlankUnkStruct_x20Array(struct UnkStruct_x20 * x20arr, u8 count)
{
s32 i;
for (i = 0; i < count; i++)
{
- arg0[i].gname_uname = sUnionGnameUnamePair_Dummy;
- arg0[i].field_18 = 0xFF;
- arg0[i].groupScheduledAnim = UNION_ROOM_SPAWN_NONE;
- arg0[i].field_1A_1 = FALSE;
- arg0[i].field_1B = 0;
+ x20arr[i].gname_uname = sUnionGnameUnamePair_Dummy;
+ x20arr[i].field_18 = 0xFF;
+ x20arr[i].groupScheduledAnim = UNION_ROOM_SPAWN_NONE;
+ x20arr[i].field_1A_1 = FALSE;
+ x20arr[i].field_1B = 0;
}
}
-static void BlankUnkStruct_x1CArray(struct UnkStruct_x1C * arg0, u8 count)
+static void BlankUnkStruct_x1CArray(struct UnkStruct_x1C * x1Carr, u8 count)
{
s32 i;
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- arg0[i].gname_uname = sUnionGnameUnamePair_Dummy;
- arg0[i].active = FALSE;
+ x1Carr[i].gname_uname = sUnionGnameUnamePair_Dummy;
+ x1Carr[i].active = FALSE;
}
}
-static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * arg0, const struct UnionGnameUnamePair * arg1)
+static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * left, const struct UnionGnameUnamePair * right)
{
s32 i;
for (i = 0; i < 2; i++)
{
- if (arg0->gname.unk_00.playerTrainerId[i] != arg1->gname.unk_00.playerTrainerId[i])
+ if (left->gname.unk_00.playerTrainerId[i] != right->gname.unk_00.playerTrainerId[i])
{
return TRUE;
}
@@ -4083,7 +4083,7 @@ static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * arg0, const str
for (i = 0; i < 8; i++)
{
- if (arg0->uname[i] != arg1->uname[i])
+ if (left->uname[i] != right->uname[i])
{
return TRUE;
}
@@ -4092,34 +4092,34 @@ static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * arg0, const str
return FALSE;
}
-static bool32 AreUnionRoomPlayerGnamesDifferent(struct UnionGnameUnamePair * arg0, struct UnionGnameUnamePair * arg1)
+static bool32 AreUnionRoomPlayerGnamesDifferent(struct UnionGnameUnamePair * left, struct UnionGnameUnamePair * right)
{
s32 i;
- if (arg0->gname.activity != arg1->gname.activity)
+ if (left->gname.activity != right->gname.activity)
{
return TRUE;
}
- if (arg0->gname.started != arg1->gname.started)
+ if (left->gname.started != right->gname.started)
{
return TRUE;
}
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if (arg0->gname.child_sprite_gender[i] != arg1->gname.child_sprite_gender[i])
+ if (left->gname.child_sprite_gender[i] != right->gname.child_sprite_gender[i])
{
return TRUE;
}
}
- if (arg0->gname.species != arg1->gname.species)
+ if (left->gname.species != right->gname.species)
{
return TRUE;
}
- if (arg0->gname.type != arg1->gname.type)
+ if (left->gname.type != right->gname.type)
{
return TRUE;
}
@@ -4127,17 +4127,17 @@ static bool32 AreUnionRoomPlayerGnamesDifferent(struct UnionGnameUnamePair * arg
return FALSE;
}
-static u32 Findx20Inx1CArray(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1)
+static u32 Findx20Inx1CArray(struct UnkStruct_x20 * x20, struct UnkStruct_x1C * x1Carr)
{
u8 result = 0xFF;
s32 i;
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if (arg1[i].active && !AreGnameUnameDifferent(&arg0->gname_uname, &arg1[i].gname_uname))
+ if (x1Carr[i].active && !AreGnameUnameDifferent(&x20->gname_uname, &x1Carr[i].gname_uname))
{
result = i;
- arg1[i].active = FALSE;
+ x1Carr[i].active = FALSE;
}
}
@@ -4243,40 +4243,40 @@ static u32 GetResponseIdx_InviteToURoomActivity(s32 activity)
}
}
-static u32 ConvPartnerUnameAndGetWhetherMetAlready(struct UnkStruct_x20 * arg0)
+static u32 ConvPartnerUnameAndGetWhetherMetAlready(struct UnkStruct_x20 * x20)
{
u8 sp0[30];
- IntlConvPartnerUname(sp0, *arg0);
- return PlayerHasMetTrainerBefore(ReadAsU16(arg0->gname_uname.gname.unk_00.playerTrainerId), sp0);
+ IntlConvPartnerUname(sp0, *x20);
+ return PlayerHasMetTrainerBefore(ReadAsU16(x20->gname_uname.gname.unk_00.playerTrainerId), sp0);
}
-static s32 UnionRoomGetPlayerInteractionResponse(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender)
+static s32 UnionRoomGetPlayerInteractionResponse(struct UnkStruct_Main0 * main0, u8 overrideGender, u8 playerIdx, u32 playerGender)
{
- bool32 r2;
+ bool32 metBefore;
- struct UnkStruct_x20 * x20 = &arg0->arr[arg2];
+ struct UnkStruct_x20 * x20 = &main0->arr[playerIdx];
- if (!x20->gname_uname.gname.started && arg1 == 0)
+ if (!x20->gname_uname.gname.started && overrideGender == 0)
{
IntlConvPartnerUname(gStringVar1, *x20);
- r2 = PlayerHasMetTrainerBefore(ReadAsU16(x20->gname_uname.gname.unk_00.playerTrainerId), gStringVar1);
+ metBefore = PlayerHasMetTrainerBefore(ReadAsU16(x20->gname_uname.gname.unk_00.playerTrainerId), gStringVar1);
if (x20->gname_uname.gname.activity == (ACTIVITY_CHAT | IN_UNION_ROOM))
{
- StringExpandPlaceholders(gStringVar4, gUnknown_8457F80[r2][playerGender]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_8457F80[metBefore][playerGender]);
return 2;
}
else
{
- UR_PrintFieldMessage(gURText_PleaseWaitMsgs[r2]);
+ UR_PrintFieldMessage(gURText_PleaseWaitMsgs[metBefore]);
return 1;
}
}
else
{
IntlConvPartnerUname(gStringVar1, *x20);
- if (arg1 != 0)
+ if (overrideGender != 0)
{
- playerGender = (x20->gname_uname.gname.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1;
+ playerGender = (x20->gname_uname.gname.unk_00.playerTrainerId[overrideGender + 1] >> 3) & 1;
}
switch (x20->gname_uname.gname.activity & 0x3F)
{
@@ -4365,18 +4365,18 @@ static void TradeBoardListMenuItemPrintFunc(u8 windowId, s32 itemId, u8 y)
}
}
-static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * arg, s32 arg1)
+static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * x20, s32 n)
{
s32 i;
s32 j = 0;
for (i = 0; i < 8; i++)
{
- if (arg[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN && arg[i].gname_uname.gname.species != SPECIES_NONE)
+ if (x20[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN && x20[i].gname_uname.gname.species != SPECIES_NONE)
{
j++;
}
- if (j == arg1 + 1)
+ if (j == n + 1)
{
return i;
}
@@ -4385,9 +4385,9 @@ static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * arg, s32 arg1)
return -1;
}
-static s32 GetUnionRoomPlayerGender(s32 arg1, struct UnkStruct_Main0 * arg0)
+static s32 GetUnionRoomPlayerGender(s32 playerIdx, struct UnkStruct_Main0 * main0)
{
- return arg0->arr[arg1].gname_uname.gname.playerGender;
+ return main0->arr[playerIdx].gname_uname.gname.playerGender;
}
static s32 IsRequestedTypeAndSpeciesInPlayerParty(u32 type, u32 species)
@@ -4515,18 +4515,18 @@ static s32 GetChatLeaderActionRequestMessage(u8 *dst, u32 gender, u16 *activity_
return result;
}
-static bool32 PollPartnerYesNoResponse(struct UnkStruct_URoom * arg0)
+static bool32 PollPartnerYesNoResponse(struct UnkStruct_URoom * uroom)
{
if (gRecvCmds[0][1] != 0)
{
if (gRecvCmds[0][1] == (ACTIVITY_ACCEPT | IN_UNION_ROOM))
{
- arg0->partnerYesNoResponse = ACTIVITY_ACCEPT | IN_UNION_ROOM;
+ uroom->partnerYesNoResponse = ACTIVITY_ACCEPT | IN_UNION_ROOM;
return TRUE;
}
else if (gRecvCmds[0][1] == (ACTIVITY_DECLINE | IN_UNION_ROOM))
{
- arg0->partnerYesNoResponse = ACTIVITY_DECLINE | IN_UNION_ROOM;
+ uroom->partnerYesNoResponse = ACTIVITY_DECLINE | IN_UNION_ROOM;
return TRUE;
}
}
@@ -4560,16 +4560,16 @@ static bool32 HasAtLeastTwoMonsOfLevel30OrLower(void)
return FALSE;
}
-static void ResetUnionRoomTrade(struct UnionRoomTrade * arg0)
+static void ResetUnionRoomTrade(struct UnionRoomTrade * uroomTrade)
{
- arg0->field_0 = 0;
- arg0->type = 0;
- arg0->playerPersonality = 0;
- arg0->playerSpecies = 0;
- arg0->playerLevel = 0;
- arg0->species = 0;
- arg0->level = 0;
- arg0->personality = 0;
+ uroomTrade->field_0 = 0;
+ uroomTrade->type = 0;
+ uroomTrade->playerPersonality = 0;
+ uroomTrade->playerSpecies = 0;
+ uroomTrade->playerLevel = 0;
+ uroomTrade->species = 0;
+ uroomTrade->level = 0;
+ uroomTrade->personality = 0;
}
void Script_ResetUnionRoomTrade(void)
@@ -4663,17 +4663,17 @@ static u8 GetSinglePartnerSpriteGenderParam(s32 linkPlayer)
return retval;
}
-static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * arg0)
+static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * uroom)
{
u8 retVal = 0x80;
u8 i;
for (i = 0; i < RFU_CHILD_MAX; i++)
{
- if (arg0->field_C->arr[i].active)
+ if (uroom->field_C->arr[i].active)
{
- retVal |= arg0->field_C->arr[i].gname_uname.gname.playerGender << 3;
- retVal |= arg0->field_C->arr[i].gname_uname.gname.unk_00.playerTrainerId[0] & 7;
+ retVal |= uroom->field_C->arr[i].gname_uname.gname.playerGender << 3;
+ retVal |= uroom->field_C->arr[i].gname_uname.gname.unk_00.playerTrainerId[0] & 7;
break;
}
}
@@ -4681,7 +4681,7 @@ static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * arg0)
return retVal;
}
-static void ViewURoomPartnerTrainerCard(u8 *unused, struct UnkStruct_URoom * arg1, bool8 arg2)
+static void ViewURoomPartnerTrainerCard(u8 *unused, struct UnkStruct_URoom * uroom, bool8 parent_child)
{
struct TrainerCard * trainerCard = &gTrainerCards[GetMultiplayerId() ^ 1];
s32 i;
@@ -4689,61 +4689,61 @@ static void ViewURoomPartnerTrainerCard(u8 *unused, struct UnkStruct_URoom * arg
DynamicPlaceholderTextUtil_Reset();
- StringCopy(arg1->trainerCardStrbufs[0], gTrainerClassNames[sub_80447F0()]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]);
+ StringCopy(uroom->trainerCardStrbufs[0], gTrainerClassNames[sub_80447F0()]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, uroom->trainerCardStrbufs[0]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName);
- StringCopy(arg1->field_174, gUnknown_84594B0[trainerCard->stars]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174);
+ StringCopy(uroom->field_174, gUnknown_84594B0[trainerCard->stars]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, uroom->field_174);
- ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]);
+ ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, uroom->trainerCardStrbufs[2]);
- ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
- ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->trainerCardStrbufs[3]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->trainerCardStrbufs[4]);
+ ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
+ ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, uroom->trainerCardStrbufs[3]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, uroom->trainerCardStrbufs[4]);
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_84594C4);
- StringCopy(gStringVar4, arg1->field_1A4);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_84594C4);
+ StringCopy(gStringVar4, uroom->field_1A4);
n = trainerCard->linkBattleWins;
if (n > 9999)
{
n = 9999;
}
- ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[0], n, STR_CONV_MODE_LEFT_ALIGN, 4);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]);
+ ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[0], n, STR_CONV_MODE_LEFT_ALIGN, 4);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, uroom->trainerCardStrbufs[0]);
n = trainerCard->linkBattleLosses;
if (n > 9999)
{
n = 9999;
}
- ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[1], n, STR_CONV_MODE_LEFT_ALIGN, 4);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->trainerCardStrbufs[1]);
+ ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[1], n, STR_CONV_MODE_LEFT_ALIGN, 4);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, uroom->trainerCardStrbufs[1]);
- ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]);
+ ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, uroom->trainerCardStrbufs[2]);
for (i = 0; i < 4; i++)
{
- CopyEasyChatWord(arg1->trainerCardStrbufs[i + 3], trainerCard->var_28[i]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->trainerCardStrbufs[i + 3]);
+ CopyEasyChatWord(uroom->trainerCardStrbufs[i + 3], trainerCard->var_28[i]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, uroom->trainerCardStrbufs[i + 3]);
}
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459504);
- StringAppend(gStringVar4, arg1->field_1A4);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_8459504);
+ StringAppend(gStringVar4, uroom->field_1A4);
- if (arg2 == TRUE)
+ if (parent_child == MODE_PARENT)
{
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459588);
- StringAppend(gStringVar4, arg1->field_1A4);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_8459588);
+ StringAppend(gStringVar4, uroom->field_1A4);
}
- else if (arg2 == FALSE)
+ else if (parent_child == MODE_CHILD)
{
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459580[trainerCard->gender]);
- StringAppend(gStringVar4, arg1->field_1A4);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_8459580[trainerCard->gender]);
+ StringAppend(gStringVar4, uroom->field_1A4);
}
}
diff --git a/src/union_room_battle.c b/src/union_room_battle.c
index 96e37add8..b4d8af9ce 100644
--- a/src/union_room_battle.c
+++ b/src/union_room_battle.c
@@ -183,7 +183,7 @@ void CB2_UnionRoomBattle(void)
case 50:
if (!UpdatePaletteFade())
{
- sub_800AB9C();
+ PrepareSendLinkCmd2FFE_or_RfuCmd6600();
gMain.state++;
}
break;
diff --git a/src/union_room_message.c b/src/union_room_message.c
index 6cfeb5552..1d26d1968 100644
--- a/src/union_room_message.c
+++ b/src/union_room_message.c
@@ -525,6 +525,7 @@ const u8 *const gUnknown_84594B0[] = {
ALIGNED(4) const u8 gUnknown_84594C4[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p");
ALIGNED(4) const u8 gUnknown_8459504[] = _("BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p");
+
ALIGNED(4) const u8 gUnknown_8459544[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}");
ALIGNED(4) const u8 gUnknown_8459564[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}");