diff options
author | GliMusings <gcreative7@gmail.com> | 2021-06-25 21:17:19 -0500 |
---|---|---|
committer | GliMusings <gcreative7@gmail.com> | 2021-06-25 21:17:19 -0500 |
commit | 7897c7e2946a008098d9e1cc7209bcfd00e43d8a (patch) | |
tree | 172529d53276933f42608367f4c7519eff760aec /arm9/src | |
parent | c075e06f736a01cb80b1e6ff3c9ff226e4dcedb0 (diff) |
Not yet matching, 3 registers rotated in FUN_0201C70C
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/unk_0201C6B4.c | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/arm9/src/unk_0201C6B4.c b/arm9/src/unk_0201C6B4.c index 95a301d6..673866f2 100644 --- a/arm9/src/unk_0201C6B4.c +++ b/arm9/src/unk_0201C6B4.c @@ -1,10 +1,9 @@ #include "global.h"
-#include "proto.h"
#include "unk_0201C6B4.h"
-THUMB_FUNC u32 FUN_0201C6B4(s8 * r0)
+THUMB_FUNC int FUN_0201C6B4(s8 * r0)
{
- u32 r2 = 0;
+ int r2 = 0;
while(r0[r2] != 0)
{
r2++;
@@ -14,56 +13,61 @@ THUMB_FUNC u32 FUN_0201C6B4(s8 * r0) THUMB_FUNC s8 * FUN_0201C6C8(s8 * r0, s8 * r1, s8 r2)
{
- for(u8 r3 = 0; r3 < 256; r3++)
- {
+ for(int r3 = 0; r3 < 256; r3++) // _0201C6FE jumps to conditional
+ { // _0201C6D0
r1[r3] = r0[r3];
- if(r2 == r0[r3] || r0[r3] != 0)
- {
+ if(r2 == r0[r3] || r0[r3] == 0)
+ { // _0201C6DE
r1[r3] = 0;
- if(r2 == 13 | r0[r3 + 1] == 10)
- {
- return r0 + r3 + 1;
- }
- return r0 + r3 + 2;
+ if(r2 == 13 && r0[r3 + 1] == 10)
+ { // _0201C6F6
+ return (s8 *)((s32)(r0) + (r3 + 2));
+ } // _0201C6DE + 44
+ return (s8 *)((s32)(r0) + (r3 + 1));
}
}
return NULL;
}
-THUMB_FUNC s32 FUN_0201C70C(s8 * r4)
+THUMB_FUNC int FUN_0201C70C(s8 * r4)
{
+ s32 unk0 = FUN_0201C6B4(r4);
u32 r5 = 1;
s32 r6 = 0;
- for(u32 r3 = FUN_0201C6B4(r4) - 1; r3 >= 0; r3--)
+ unk0--;
+ for(s32 r3 = unk0; r3 >= 0; r3--)
{
- if(r4[r3] < 48 || r4[r3] > 57)
+ if(r4[r3] >= 0x30 && r4[r3] <= 0x39)
+ {
+ r6 += ((r4[r3] - 0x30) * r5);
+ }
+ else
{
if(r3 == 0)
{
- return 0;
+ if(r4[r3] == 0x2d)
+ {
+ r6 *= -1;
+ }
}
- if(r4[r3] == 45)
+ else
{
- r6 = r6 * -1;
+ return -1;
}
}
- else
- {
- r6 += ((r4[r3] - 48) * r5);
- }
- r5 = r5 * 10;
+ r5 *= 10;
}
return r6;
}
THUMB_FUNC void FUN_0201C750(s8 * r5, s8 * r4)
{
- for(u32 r2 = 0; r2 < 4; r2++)
+ for(u8 r2 = 0; r2 < 4; r2++)
{
- r5[r2 << 2] = 0;
+ ((s32*)(r5))[r2] = 0;
}
- u32 r0 = FUN_0201C6B4(r4);
- for(u32 r2 = 0; r2 < r0; r2++)
+ u8 r0 = (u8)(FUN_0201C6B4(r4));
+ for(u8 r2 = 0; r2 < r0; r2++)
{
r5[r2] = r4[r2];
}
@@ -71,5 +75,5 @@ THUMB_FUNC void FUN_0201C750(s8 * r5, s8 * r4) THUMB_FUNC BOOL FUN_0201C78C(u32 r0)
{
- return r0 > 289;
+ return r0 < 289;
}
\ No newline at end of file |