summaryrefslogtreecommitdiff
path: root/include/union_room.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/union_room.h')
-rw-r--r--include/union_room.h109
1 files changed, 56 insertions, 53 deletions
diff --git a/include/union_room.h b/include/union_room.h
index d57683a8a..3cb8eb84a 100644
--- a/include/union_room.h
+++ b/include/union_room.h
@@ -2,11 +2,11 @@
#define GUARD_UNION_ROOM_H
#include "global.h"
-#include "librfu.h"
+#include "link_rfu.h"
struct UnkStruct_Shared
{
- struct GFtgtGname field_0;
+ struct GFtgtGname gname;
u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH];
};
@@ -28,26 +28,27 @@ struct UnkStruct_x20
u8 field_1F;
};
+// These arrays are dynamically allocated but must be
+// represented as structs to match.
+// Don't ask me why.
+
+// FIXME: Find a way around this.
+
struct UnkStruct_Main0
{
- struct UnkStruct_x20 arr[8];
+ struct UnkStruct_x20 arr[0];
};
struct UnkStruct_Main4
{
- struct UnkStruct_x1C arr[5];
-};
-
-struct UnkStruct_Main8
-{
- struct UnkStruct_x20 arr[5];
+ struct UnkStruct_x1C arr[0];
};
struct UnkStruct_Leader
{
- struct UnkStruct_Main0 *field_0;
- struct UnkStruct_Main4 *field_4;
- struct UnkStruct_Main8 *field_8;
+ struct UnkStruct_Main0 * field_0;
+ struct UnkStruct_Main4 * field_4;
+ struct UnkStruct_Main0 * field_8;
u8 state;
u8 textState;
u8 field_E;
@@ -67,8 +68,8 @@ struct UnkStruct_Leader
struct UnkStruct_Group
{
- struct UnkStruct_Main0 *field_0;
- struct UnkStruct_Main4 *field_4;
+ struct UnkStruct_Main0 * field_0;
+ struct UnkStruct_Main4 * field_4;
u8 state;
u8 textState;
u8 field_A;
@@ -85,56 +86,56 @@ struct UnkStruct_Group
u8 field_15;
};
-struct UnkStruct_8019BA8
+struct UnionObj
{
- u8 field_0;
- u8 field_1;
- s8 field_2;
- u8 field_3;
+ u8 state;
+ u8 gfxId;
+ s8 animState;
+ u8 schedAnim;
};
struct UnkStruct_URoom
{
- struct UnkStruct_Main0 *field_0;
- struct UnkStruct_Main4 *field_4;
- struct UnkStruct_Main0 *field_8;
- struct UnkStruct_Main4 *field_C;
- u16 field_10;
- u16 field_12;
- u8 state;
- u8 stateAfterPrint;
- u8 textState;
- u8 field_17;
- u8 field_18;
- u8 field_19;
- u8 field_1A;
- u8 field_1B;
- u8 field_1C;
- u8 field_1D;
- u8 field_1E;
- u8 field_1F;
- u8 field_20;
- u8 spriteIds[40];
- u8 field_49;
- u8 field_4A;
- u16 field_4C[6];
- u8 field_58[0x98 - 0x58];
- u16 field_98;
- u16 field_9A[3];
- struct UnkStruct_8019BA8 field_A0[8];
- u8 field_C0[12][15];
- u8 field_174[48];
- u8 field_1A4[200];
+ /* 0x000 */ struct UnkStruct_Main0 * field_0;
+ /* 0x004 */ struct UnkStruct_Main4 * field_4;
+ /* 0x008 */ struct UnkStruct_Main0 * field_8;
+ /* 0x00C */ struct UnkStruct_Main4 * field_C;
+ /* 0x010 */ u16 field_10;
+ /* 0x012 */ u16 field_12;
+ /* 0x014 */ u8 state;
+ /* 0x015 */ u8 stateAfterPrint;
+ /* 0x016 */ u8 textState;
+ /* 0x017 */ u8 field_17;
+ /* 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;
+ /* 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];
+ /* 0x08C */ struct UnionObj unionObjs[8];
+ /* 0x0AC */ u8 trainerCardStrbufs[12][15];
+ /* 0x160 */ u8 field_174[48];
+ /* 0x190 */ u8 field_1A4[200];
};
union UnkUnion_Main
{
- struct UnkStruct_Leader *leader;
- struct UnkStruct_Group *group;
- struct UnkStruct_URoom *uRoom;
+ struct UnkStruct_Leader * leader;
+ struct UnkStruct_Group * group;
+ struct UnkStruct_URoom * uRoom;
};
-struct TradeUnkStruct
+struct UnionRoomTrade
{
u16 field_0;
u16 type;
@@ -153,4 +154,6 @@ extern struct GFtgtGnameSub gUnknown_203B064;
extern u16 gUnionRoomOfferedSpecies;
extern u8 gUnionRoomRequestedMonType;
+void sub_81173C0(u16 battleFlags);
+
#endif //GUARD_UNION_ROOM_H