summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-01-30 18:07:13 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-01-30 18:07:13 -0500
commit06f1fd1766f795bd938280aef062d3e07b94da8c (patch)
treea954d346c8fcdf59244b26e7b82343ad05f5d9a8 /src
parentcce651aabe5d00d45ca0a11055e278f40eb774cc (diff)
match sub_8117380
Diffstat (limited to 'src')
-rw-r--r--src/roulette.c146
1 files changed, 23 insertions, 123 deletions
diff --git a/src/roulette.c b/src/roulette.c
index fa8fcf37c..3fc7b08c2 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -614,6 +614,7 @@ u8 sub_8115A94(s16 *r0, u8 r1)
s8 arr[0x4];
s8 t;
memcpy(&arr, gUnknown_083F8ECA, 0x4);
+ // char arr[] = {-5, 5, -1, 1};
t = (u8)*r0;
switch (r1)
{
@@ -861,12 +862,12 @@ void sub_8116100(u8 taskid)
u8 randf;
s8 randfinal;
s8 r5;
- u16 g;
+ u16 g = 0;
u16 rand;
u16 randmod;
u16 angles[0x4]; // angles in 90 degree steps
- g = 0x0;
memcpy(angles, &gUnknown_083F8ECE, 0x8);
+ // u16 angles[] = {0, 180, 90, 270};
rand = Random();
randmod = rand % 0x64;
eRoulette->var7C = gTasks[taskid].data[0x6];
@@ -1258,6 +1259,8 @@ u8 sub_8116D54(u8 taskid, u8 r1)
u32 t1[0x3];
memcpy(t0, gUnknown_083F8ED8, 0x10);
memcpy(t1, gUnknown_083F8EE8, 0xC);
+ // u32 t0[] = {67650, 135300, 270600, 541200};
+ // u32 t1[] = {0x3e0, 0x7c00, 0xf8000};
if (r1 > 0xB)
{
return 0x0;
@@ -2021,135 +2024,32 @@ _0811737C: .4byte 0x020189a4\n\
}
#endif
-#ifdef NONMATCHING
u8 sub_8117380(u8 r0)
{
- u8 var0[0x5];
- u8 t;
- u8 z;
- memcpy(var0, gUnknown_083F8EF4, 0x5);
- if (r0 > 0x13)
- r0 = 0x0;
+ u8 var0[5];
+ memcpy(var0, gUnknown_083F8EF4, 5);
+ // u8 var0[] = {0, 3, 4, 6, 12};
+ if (r0 > 19)
+ r0 = 0;
switch (gUnknown_083F8C00[r0].var01_0)
{
- case 0x3:
- z = r0 / 0x5 - 0x1;
- if (eRoulette->var16[z] > 0x3)
+ case 3:
+ r0 = r0 / 5 - 1;
+ if (eRoulette->var16[r0] > 3)
return 0x0;
- return var0[eRoulette->var16[z] + 0x1];
- case 0x4:
- t = r0 - 0x1;
- if (eRoulette->var12[t] > 0x2)
- return 0x0;
- return var0[eRoulette->var12[t] + 0x2];
- case 0xC:
+ return var0[eRoulette->var16[r0] + 1];
+ case 4:
+ r0--;
+ if (eRoulette->var12[r0] > 2)
+ return 0;
+ return var0[eRoulette->var12[r0] + 2];
+ case 12:
if (eRoulette->var08 & gUnknown_083F8C00[r0].var08)
- return 0x0;
- return var0[0x4];
- default:
+ return 0;
+ return var0[4];
}
- return 0x0;
-}
-#else
-__attribute__((naked))
-u8 sub_8117380(u8 r0)
-{
-asm(".syntax unified\n\
-push {r4,lr}\n\
-sub sp, 0x8\n\
-lsls r0, 24\n\
-lsrs r4, r0, 24\n\
-ldr r1, _081173B8 @ =gUnknown_083F8EF4\n\
-mov r0, sp\n\
-movs r2, 0x5\n\
-bl memcpy\n\
-cmp r4, 0x13\n\
-bls _08117398\n\
-movs r4, 0\n\
-_08117398:\n\
-ldr r3, _081173BC @ =gUnknown_083F8C00\n\
-lsls r0, r4, 2\n\
-adds r0, r4\n\
-lsls r2, r0, 2\n\
-adds r0, r2, r3\n\
-ldrb r0, [r0, 0x1]\n\
-lsls r0, 28\n\
-lsrs r0, 28\n\
-cmp r0, 0x4\n\
-beq _081173EC\n\
-cmp r0, 0x4\n\
-bgt _081173C0\n\
-cmp r0, 0x3\n\
-beq _081173C6\n\
-b _08117428\n\
-.align 2, 0\n\
-_081173B8: .4byte gUnknown_083F8EF4\n\
-_081173BC: .4byte gUnknown_083F8C00\n\
-_081173C0:\n\
-cmp r0, 0xC\n\
-beq _0811740C\n\
-b _08117428\n\
-_081173C6:\n\
-adds r0, r4, 0\n\
-movs r1, 0x5\n\
-bl __udivsi3\n\
-subs r0, 0x1\n\
-lsls r0, 24\n\
-lsrs r4, r0, 24\n\
-ldr r0, _081173E8 @ =0x02019000\n\
-adds r0, 0x16\n\
-adds r1, r4, r0\n\
-ldrb r0, [r1]\n\
-cmp r0, 0x3\n\
-bhi _08117428\n\
-ldrb r0, [r1]\n\
-adds r0, 0x1\n\
-b _08117402\n\
-.align 2, 0\n\
-_081173E8: .4byte 0x02019000\n\
-_081173EC:\n\
-subs r0, r4, 0x1\n\
-lsls r0, 24\n\
-lsrs r4, r0, 24\n\
-ldr r0, _08117408 @ =0x02019000\n\
-adds r0, 0x12\n\
-adds r1, r4, r0\n\
-ldrb r0, [r1]\n\
-cmp r0, 0x2\n\
-bhi _08117428\n\
-ldrb r0, [r1]\n\
-adds r0, 0x2\n\
-_08117402:\n\
-add r0, sp\n\
-ldrb r0, [r0]\n\
-b _0811742A\n\
-.align 2, 0\n\
-_08117408: .4byte 0x02019000\n\
-_0811740C:\n\
-ldr r1, _08117424 @ =0x02019000\n\
-adds r0, r3, 0\n\
-adds r0, 0x8\n\
-adds r0, r2, r0\n\
-ldr r1, [r1, 0x8]\n\
-ldr r0, [r0]\n\
-ands r1, r0\n\
-cmp r1, 0\n\
-bne _08117428\n\
-mov r0, sp\n\
-ldrb r0, [r0, 0x4]\n\
-b _0811742A\n\
-.align 2, 0\n\
-_08117424: .4byte 0x02019000\n\
-_08117428:\n\
-movs r0, 0\n\
-_0811742A:\n\
-add sp, 0x8\n\
-pop {r4}\n\
-pop {r1}\n\
-bx r1\n\
-.syntax divided\n");
+ return 0;
}
-#endif
void sub_8117434(void)
{