summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/union_room.s254
-rw-r--r--src/graphics.c0
-rw-r--r--src/union_room.c106
3 files changed, 105 insertions, 255 deletions
diff --git a/asm/union_room.s b/asm/union_room.s
index d35ca5190..0e8c06beb 100644
--- a/asm/union_room.s
+++ b/asm/union_room.s
@@ -5,260 +5,6 @@
.text
- thumb_func_start sub_81161E4
-sub_81161E4: @ 81161E4
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x11]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x11]
- movs r1, 0
- bl ClearStdWindowAndFrame
- ldrb r0, [r4, 0x12]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r4, 0x10]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0xF]
- movs r1, 0
- bl ClearStdWindowAndFrame
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4, 0x11]
- bl RemoveWindow
- ldrb r0, [r4, 0xF]
- bl RemoveWindow
- ldrb r0, [r4, 0x10]
- bl RemoveWindow
- ldrb r0, [r4, 0x17]
- bl DestroyTask
- ldr r0, [r4, 0x8]
- bl Free
- ldr r0, [r4]
- bl Free
- ldr r0, [r4, 0x4]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81161E4
-
- thumb_func_start sub_8116244
-sub_8116244: @ 8116244
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x15
- bhi _081162D8
- lsls r0, 2
- ldr r1, _0811625C @ =_08116260
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811625C: .4byte _08116260
- .align 2, 0
-_08116260:
- .4byte _081162B8
- .4byte _081162B8
- .4byte _081162D0
- .4byte _081162B8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D0
- .4byte _081162D0
- .4byte _081162D0
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162D8
- .4byte _081162C0
- .4byte _081162C0
-_081162B8:
- ldr r1, _081162BC @ =gUnknown_84574A0
- b _081162C2
- .align 2, 0
-_081162BC: .4byte gUnknown_84574A0
-_081162C0:
- ldr r1, _081162CC @ =gUnknown_84574C4
-_081162C2:
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _081162D8
- .align 2, 0
-_081162CC: .4byte gUnknown_84574C4
-_081162D0:
- ldr r1, _081162DC @ =gUnknown_84574EC
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_081162D8:
- pop {r0}
- bx r0
- .align 2, 0
-_081162DC: .4byte gUnknown_84574EC
- thumb_func_end sub_8116244
-
- thumb_func_start sub_81162E0
-sub_81162E0: @ 81162E0
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x44
- beq _08116300
- cmp r1, 0x44
- bgt _081162F6
- cmp r1, 0x41
- beq _08116300
- b _08116312
-_081162F6:
- cmp r2, 0x45
- beq _0811630C
- cmp r2, 0x48
- beq _0811630C
- b _08116312
-_08116300:
- ldr r1, _08116308 @ =gUnknown_8457E28
- bl StringExpandPlaceholders
- b _08116312
- .align 2, 0
-_08116308: .4byte gUnknown_8457E28
-_0811630C:
- ldr r1, _08116318 @ =gUnknown_8457E44
- bl StringExpandPlaceholders
-_08116312:
- pop {r0}
- bx r0
- .align 2, 0
-_08116318: .4byte gUnknown_8457E44
- thumb_func_end sub_81162E0
-
- thumb_func_start sub_811631C
-sub_811631C: @ 811631C
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x15
- bhi _081163A8
- lsls r0, 2
- ldr r1, _08116334 @ =_08116338
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08116334: .4byte _08116338
- .align 2, 0
-_08116338:
- .4byte _08116390
- .4byte _08116390
- .4byte _081163A0
- .4byte _08116390
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A0
- .4byte _081163A0
- .4byte _081163A0
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _081163A8
- .4byte _08116390
- .4byte _08116390
-_08116390:
- ldr r1, _0811639C @ =gUnknown_8459238
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _081163A8
- .align 2, 0
-_0811639C: .4byte gUnknown_8459238
-_081163A0:
- ldr r1, _081163AC @ =gUnknown_8459250
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_081163A8:
- pop {r0}
- bx r0
- .align 2, 0
-_081163AC: .4byte gUnknown_8459250
- thumb_func_end sub_811631C
-
- thumb_func_start sub_81163B0
-sub_81163B0: @ 81163B0
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x15
- bhi _0811643C
- lsls r0, 2
- ldr r1, _081163C8 @ =_081163CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081163C8: .4byte _081163CC
- .align 2, 0
-_081163CC:
- .4byte _08116424
- .4byte _08116424
- .4byte _08116434
- .4byte _08116424
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _08116434
- .4byte _08116434
- .4byte _08116434
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _0811643C
- .4byte _08116424
- .4byte _08116424
-_08116424:
- ldr r1, _08116430 @ =gUnknown_84576AC
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _0811643C
- .align 2, 0
-_08116430: .4byte gUnknown_84576AC
-_08116434:
- ldr r1, _08116440 @ =gUnknown_84576C4
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_0811643C:
- pop {r0}
- bx r0
- .align 2, 0
-_08116440: .4byte gUnknown_84576C4
- thumb_func_end sub_81163B0
-
thumb_func_start sub_8116444
sub_8116444: @ 8116444
push {r4-r6,lr}
diff --git a/src/graphics.c b/src/graphics.c
deleted file mode 100644
index e69de29bb..000000000
--- a/src/graphics.c
+++ /dev/null
diff --git a/src/union_room.c b/src/union_room.c
index fd59ded3e..389b13132 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -37,13 +37,22 @@ extern const struct ListMenuTemplate gUnknown_8456D34;
extern const u8 gUnknown_84571B4[];
extern const u8 gUnknown_8457234[];
extern const u8 gUnknown_8457264[];
+extern const u8 *const gUnknown_845742C[][5];
extern const u8 gUnknown_845747C[];
+extern const u8 gUnknown_84574A0[];
+extern const u8 gUnknown_84574C4[];
+extern const u8 gUnknown_84574EC[];
extern const u8 gUnknown_8457514[];
extern const u8 gUnknown_8457530[];
extern const u8 gUnknown_8457554[];
extern const u8 gUnknown_8457610[];
extern const u8 *const gUnknown_845767C[];
-extern const u8 *const gUnknown_845742C[][5];
+extern const u8 gUnknown_84576AC[];
+extern const u8 gUnknown_84576C4[];
+extern const u8 gUnknown_8457E28[];
+extern const u8 gUnknown_8457E44[];
+extern const u8 gUnknown_8459238[];
+extern const u8 gUnknown_8459250[];
void sub_811586C(u8 windowId, u8 arg1, u8 stringId)
{
@@ -405,3 +414,98 @@ void sub_8115A68(u8 taskId)
break;
}
}
+
+void sub_81161E4(struct UnkStruct_Leader *data)
+{
+ ClearWindowTilemap(data->field_11);
+ ClearStdWindowAndFrame(data->field_11, FALSE);
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ ClearWindowTilemap(data->field_10);
+ ClearStdWindowAndFrame(data->listWindowId, FALSE);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->field_11);
+ RemoveWindow(data->listWindowId);
+ RemoveWindow(data->field_10);
+ DestroyTask(data->field_17);
+
+ Free(data->field_8);
+ Free(data->field_0);
+ Free(data->field_4);
+}
+
+void sub_8116244(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ StringExpandPlaceholders(dst, gUnknown_84574A0);
+ break;
+ case 21:
+ case 22:
+ StringExpandPlaceholders(dst, gUnknown_84574C4);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ StringExpandPlaceholders(dst, gUnknown_84574EC);
+ break;
+ }
+}
+
+void sub_81162E0(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 65:
+ case 68:
+ StringExpandPlaceholders(dst, gUnknown_8457E28);
+ break;
+ case 69:
+ case 72:
+ StringExpandPlaceholders(dst, gUnknown_8457E44);
+ break;
+ }
+}
+
+void sub_811631C(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 21:
+ case 22:
+ StringExpandPlaceholders(dst, gUnknown_8459238);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ StringExpandPlaceholders(dst, gUnknown_8459250);
+ break;
+ }
+}
+
+void sub_81163B0(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 21:
+ case 22:
+ StringExpandPlaceholders(dst, gUnknown_84576AC);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ StringExpandPlaceholders(dst, gUnknown_84576C4);
+ break;
+ }
+}