summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/union_room.h37
-rw-r--r--include/link_rfu.h16
-rw-r--r--include/union_room.h22
-rw-r--r--include/union_room_message.h32
4 files changed, 74 insertions, 33 deletions
diff --git a/include/constants/union_room.h b/include/constants/union_room.h
index 021424773..04ffa3037 100644
--- a/include/constants/union_room.h
+++ b/include/constants/union_room.h
@@ -1,6 +1,43 @@
#ifndef GUARD_CONSTANTS_UNION_ROOM_H
#define GUARD_CONSTANTS_UNION_ROOM_H
+#define UNION_ROOM_SPAWN_NONE 0
+#define UNION_ROOM_SPAWN_IN 1
+#define UNION_ROOM_SPAWN_OUT 2
+
+#define UROOM_ACTIVITY_NONE 0
+#define UROOM_ACTIVITY_BATTLE 1
+#define UROOM_ACTIVITY_DBLBATTLE 2
+#define UROOM_ACTIVITY_MLTBATTLE 3
+#define UROOM_ACTIVITY_TRADE 4
+#define UROOM_ACTIVITY_CHAT 5
+#define UROOM_ACTIVITY_WCARD 6
+#define UROOM_ACTIVITY_WNEWS 7
+#define UROOM_ACTIVITY_CARD 8
+#define UROOM_ACTIVITY_PJUMP 9
+#define UROOM_ACTIVITY_BCRUSH 10
+#define UROOM_ACTIVITY_BPICK 11
+#define UROOM_ACTIVITY_SEARCH 12
+#define UROOM_ACTIVITY_SPINTRADE 13
+#define UROOM_ACTIVITY_ITEMTRADE 14
+
+// Player response
+#define UROOM_ACTIVITY_ACCEPT 17
+#define UROOM_ACTIVITY_DECLINE 18
+
+// Duplicate IDs?
+#define UROOM_ACTIVITY_WCARD2 21
+#define UROOM_ACTIVITY_WNEWS2 22
+
+// Used in UR_AddTextPrinterParameterized
+#define UR_COLOR_DKE_WHT_LTE 0
+#define UR_COLOR_RED_WHT_LTR 1
+#define UR_COLOR_GRN_WHT_LTG 2
+#define UR_COLOR_WHT_WHT_LTE 3
+#define UR_COLOR_WHT_DKE_LTE 4
+#define UR_COLOR_GRN_DN6_LTB 5
+#define UR_COLOR_DN5_DN6_LTB 6
+
#define LINK_GROUP_SINGLE_BATTLE 0
#define LINK_GROUP_DOUBLE_BATTLE 1
#define LINK_GROUP_MULTI_BATTLE 2
diff --git a/include/link_rfu.h b/include/link_rfu.h
index 4f11d8cb6..0bcebd7ad 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -117,8 +117,10 @@ struct GFtgtGnameSub
struct __attribute__((packed, aligned(2))) GFtgtGname
{
struct GFtgtGnameSub unk_00;
- u8 unk_04[RFU_CHILD_MAX]; // u8 sprite_idx:3;
- // u8 gender:1;
+ u8 child_sprite_gender[RFU_CHILD_MAX]; // u8 sprite_idx:3;
+ // u8 gender:1;
+ // u8 unk_4:3
+ // u8 active:1
u16 species:10;
u16 type:6;
u8 activity:7;
@@ -385,13 +387,13 @@ void var_800D_set_xB(void);
struct GFtgtGname *GetHostRFUtgtGname(void);
void UpdateWirelessStatusIndicatorSprite(void);
void InitRFU(void);
-bool32 sub_80FBA00(void);
+bool32 RfuIsErrorStatus1or2(void);
void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *ptr);
void RFU_queue_40_14_reset(struct UnkRfuStruct_2_Sub_9e8 *ptr);
-void sub_80FB9E4(u8 a0, u16 msg);
-u8 sub_80FB9F4(void);
+void RfuSetErrorStatus(u8 a0, u16 msg);
+u8 RfuGetErrorStatus(void);
void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2);
bool8 RFU_queue_40_14_send(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2);
bool8 RFU_queue_2_14_send(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2);
@@ -410,14 +412,14 @@ bool32 sub_80F8F7C(bool32 a0);
bool32 sub_80FA634(u16 trainerId, const u8 *trainerName);
void sub_80FA670(u8 a0, u16 a1, const u8 *a2);
u32 sub_80FA6FC(u16 a0, const u8 *a1);
-void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2);
+void SetHostRFUtgtGname(u8 activity, u32 child_sprite_genders, u32 a2);
void sub_80FBB8C(u32 a0);
void sub_80FBD4C(const u8 *trainerName, u16 trainerId);
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname);
void sub_80FBBD8(void);
void sub_80FA6BC(void);
void sub_80FBF54(const u8 *src, u16 trainerId);
-void sub_80FB008(u8 a0, u32 a1, u32 a2);
+void sub_80FB008(u8 activity, u32 child_sprite_genders, u32 a2);
void RecordMixTrainerNames(void);
void sub_80F8CFC();
void sub_80F8D14();
diff --git a/include/union_room.h b/include/union_room.h
index 0600d9cc0..f5a1ecf04 100644
--- a/include/union_room.h
+++ b/include/union_room.h
@@ -25,7 +25,7 @@ struct UnkStruct_x20
{
struct UnkStruct_Shared unk;
u16 field_18;
- u8 tradeStatus:2;
+ u8 groupScheduledAnim:2;
u8 field_1A_1:1;
u8 field_1B;
u8 field_1D;
@@ -114,19 +114,21 @@ struct UnkStruct_URoom
/* 0x018 */ u8 field_18;
/* 0x019 */ u8 field_19;
/* 0x01A */ u8 field_1A;
- /* 0x01B */ u8 field_1B;
- /* 0x01C */ u8 field_1C;
- /* 0x01D */ u8 field_1D;
- /* 0x01E */ u8 field_1E;
+ /* 0x01B */ u8 topListMenuWindowId;
+ /* 0x01C */ u8 topListMenuListMenuId;
+ /* 0x01D */ u8 tradeBoardSelectWindowId;
+ /* 0x01E */ u8 tradeBoardDetailsWindowId;
/* 0x01F */ u8 field_1F;
/* 0x020 */ u8 field_20;
/* 0x021 */ u8 spriteIds[40];
/* 0x049 */ u8 field_49;
- /* 0x04A */ u8 field_4A;
- /* 0x04C */ u16 field_4C[6];
- /* 0x058 */ u8 field_58[4][11];
- /* 0x084 */ u16 field_98;
- /* 0x086 */ u16 field_9A[3];
+ /* 0x04A */ u8 tradeBoardListMenuId;
+
+ // For communication with potential link partners
+ /* 0x04C */ u16 playerSendBuffer[6];
+ /* 0x058 */ u8 activityRequestStrbufs[4][11];
+ /* 0x084 */ u16 partnerYesNoResponse;
+ /* 0x086 */ u16 recvActivityRequest[3]; // activity[, species, level]
/* 0x08C */ struct UnionObj unionObjs[8];
/* 0x0AC */ u8 trainerCardStrbufs[12][15];
/* 0x160 */ u8 field_174[48];
diff --git a/include/union_room_message.h b/include/union_room_message.h
index b7de673ba..3ebf66252 100644
--- a/include/union_room_message.h
+++ b/include/union_room_message.h
@@ -3,7 +3,7 @@
#include "global.h"
-extern const u8 gUnknown_84571AC[];
+extern const u8 gUnionRoomActivity_Blank[];
extern const u8 gUnknown_84571B0[];
extern const u8 gUnknown_84571B4[];
extern const u8 gUnknown_84571B8[];
@@ -46,7 +46,7 @@ extern const u8 gUnknown_8457E44[];
extern const u8 gUnknown_8457E60[];
extern const u8 *const gUnknown_8457F80[][2];
extern const u8 gUnknown_8457F90[];
-extern const u8 *const gUnknown_84580F4[][4];
+extern const u8 *const gResponseToURoomActivityInviteStringPtrs[][4];
extern const u8 *const gUnknown_8458230[][2][3];
extern const u8 *const gUnknown_8458314[];
extern const u8 *const gUnknown_84583B4[];
@@ -91,20 +91,20 @@ extern const u8 gUnknown_8459360[];
extern const u8 gUnknown_8459368[];
extern const u8 gUnknown_8459370[];
extern const u8 gUnknown_8459378[];
-extern const u8 gUnknown_8459394[];
-extern const u8 gUnknown_84593A4[];
-extern const u8 gUnknown_84593B4[];
-extern const u8 gUnknown_84593C4[];
-extern const u8 gUnknown_84593D4[];
-extern const u8 gUnknown_84593E4[];
-extern const u8 gUnknown_84593F4[];
-extern const u8 gUnknown_84593DC[];
-extern const u8 gUnknown_8459400[];
-extern const u8 gUnknown_8459410[];
-extern const u8 gUnknown_845941C[];
-extern const u8 gUnknown_845942C[];
-extern const u8 gUnknown_8459434[];
-extern const u8 gUnknown_8459440[];
+extern const u8 gUnionRoomActivity_SingleBattle[];
+extern const u8 gUnionRoomActivity_DoubleBattle[];
+extern const u8 gUnionRoomActivity_MultiBattle[];
+extern const u8 gUnionRoomActivity_PokemonTrades[];
+extern const u8 gUnionRoomActivity_Chat[];
+extern const u8 gUnionRoomActivity_WonderCards[];
+extern const u8 gunionRoomActivity_WonderNews[];
+extern const u8 gUnionRoomActivity_Cards[];
+extern const u8 gUnionRoomActivity_PokemonJump[];
+extern const u8 gUnionRoomActivity_BerryCrush[];
+extern const u8 gUnionRoomActivity_BerryPicking[];
+extern const u8 gUnionRoomActivity_Search[];
+extern const u8 gUnionRoomActivity_SpinTradeJP[];
+extern const u8 gUnionRoomActivity_ItemTradeJP[];
extern const u8 *const gUnknown_84594B0[];
extern const u8 gUnknown_84594C4[];
extern const u8 gUnknown_8459504[];