diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-18 20:55:57 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-18 20:55:57 -0500 |
commit | bd30e5aa24e830105d8172972645c713ec586865 (patch) | |
tree | 7f2cc602e57e1280344a3edd757a06f5a5a8e2fa /src | |
parent | 728532be77667a16ae0ace16f06e9cd76a591606 (diff) |
sub_800C12C
Diffstat (limited to 'src')
-rw-r--r-- | src/librfu_rfu.c | 8 | ||||
-rw-r--r-- | src/link_rfu.c | 50 |
2 files changed, 50 insertions, 8 deletions
diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 2169f4578..c5aa25c10 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -3,14 +3,6 @@ #include "librfu.h" -extern struct RfuUnk5 *gUnknown_03007890; -extern u32 *gUnknown_03007894; -extern struct RfuUnk3* gUnknown_03007898; -extern struct RfuUnk2* gUnknown_03007880[4]; -extern struct RfuUnk1* gUnknown_03007870[4]; -extern void* sub_82E53F4; -extern void rfu_STC_clearAPIVariables(void); - // Nonmatching, only register differences /*u16 rfu_initializeAPI(u32 *unk0, u16 unk1, IntrFunc *interrupt, bool8 copyInterruptToRam) { diff --git a/src/link_rfu.c b/src/link_rfu.c index b7b36db2a..8d81cddc4 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -191,3 +191,53 @@ u8 sub_800C054(u8 r5, u16 r7, u16 r8, u16 *r6) gUnknown_03004140.unk_20 = r6; return 0; } + +u8 sub_800C12C(u16 r6, u16 r8) +{ + u8 i; + struct RfuUnk5 *tmp; + + if (gUnknown_03004140.unk_04 != 0 && (gUnknown_03004140.unk_04 < 9 || gUnknown_03004140.unk_04 > 11)) + { + gUnknown_03004140.unk_14 = 1; + sub_800D30C(0xF3, 0x01); + return 1; + } + if (!rfu_getMasterSlave()) + { + gUnknown_03004140.unk_14 = 2; + sub_800D30C(0xF3, 0x01); + return 2; + } + for (i = 0; i < gUnknown_03007890->unk_08; i ++) + { + tmp = &gUnknown_03007890[i]; + if (tmp->unk_14 == r6) + { + break; + } + } + if (gUnknown_03007890->unk_08 == 0 || i == gUnknown_03007890->unk_08) + { + gUnknown_03004140.unk_14 = 3; + sub_800D30C(0xF3, 0x01); + return 3; + } + if (gUnknown_03004140.unk_04 == 0 || gUnknown_03004140.unk_04 == 9) + { + gUnknown_03004140.unk_04 = 12; + gUnknown_03004140.unk_05 = 13; + } + else + { + gUnknown_03004140.unk_04 = 11; + gUnknown_03004140.unk_05 = 12; + } + gUnknown_03004140.unk_1e = r6; + gUnknown_03004140.unk_1a = r8; + if (gUnknown_03004140.unk_07 != 0) + { + gUnknown_03004140.unk_07 = 7; + } + return 0; +} |