summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-11-29 08:46:16 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-11-29 08:46:16 -0500
commit295e45c788f89bf06bdb8659338bb05ba70d81b2 (patch)
treedf0132006b86fff9e3093d2c653ebbf00b6d936d /src
parent3f00d341d56ded86572e7528065def4e4f74687d (diff)
sub_800D158
Diffstat (limited to 'src')
-rw-r--r--src/link_rfu.c39
1 files changed, 36 insertions, 3 deletions
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 9f06e9141..36ae9c1d6 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -24,14 +24,15 @@ EWRAM_DATA struct UnkLinkRfuStruct_02022B2C gUnknown_02022B2C = {};
// Static ROM declarations
void sub_800C000(void);
-void sub_800CEB0(u16 unk0);
-void sub_800C7B4(u16 unk0, u16 unk1);
+void sub_800CEB0(u16 r6);
+void sub_800C7B4(u16 r8, u16 r6);
void sub_800D30C(u8 a0, u8 a1);
void sub_800D334(u8 a0);
void sub_800D610(void);
+void sub_800D630(void);
void sub_800C744(u32 a0);
void sub_800CF34(void);
-void sub_800D158(void);
+static void sub_800D158(void);
void sub_800D20C(void);
void sub_800D268(void);
u8 sub_800D294(void);
@@ -1409,3 +1410,35 @@ __attribute__((naked)) void sub_800CF34(void)
"\tbx r0");
}
#endif
+
+static void sub_800D158(void)
+{
+ u16 imeBak = REG_IME;
+ REG_IME = 0;
+ if (gUnknown_03004140.unk_04 == 15)
+ {
+ if (--gUnknown_03004140.unk_28[gUnknown_03004140.unk_10] == 0 || gUnknown_03007880[gUnknown_03004140.unk_10]->unk_0 == 0x27)
+ {
+ sub_800D630();
+ gUnknown_03004140.unk_04 = 24;
+ rfu_clearSlot(4, gUnknown_03004140.unk_10);
+ gUnknown_03004140.unk_24 &= ~(1 << gUnknown_03004140.unk_10);
+ gUnknown_03004140.unk_28[gUnknown_03004140.unk_10] = 0;
+ }
+ }
+ REG_IME = imeBak;
+ if (gUnknown_03004140.unk_04 == 24)
+ {
+ if (gUnknown_03004140.unk_02 == 1)
+ {
+ sub_800D630();
+ }
+ if (gUnknown_03004140.unk_02 == 0)
+ {
+ gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0;
+ sub_800D334(gUnknown_03007890[0].unk_02 | gUnknown_03007890[0].unk_03);
+ gUnknown_03004140.unk_14 = 0;
+ sub_800D30C(0x25, 0x01);
+ }
+ }
+}