summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-26 20:48:28 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-26 20:48:28 -0500
commit3a51ad2c81b0c479c2621e81ae13d28f3f90fc48 (patch)
tree23ad315afb7f6723959edc12f81e9cf12ce530d2
parenta3b25543b3d85a5f88284752367abd6ed713f82b (diff)
through sub_8102EA4
-rw-r--r--asm/slot_machine.s96
-rw-r--r--src/field/slot_machine.c30
2 files changed, 29 insertions, 97 deletions
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 32299d7d0..da1413838 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -5,102 +5,6 @@
.text
- thumb_func_start sub_8102E1C
-sub_8102E1C: @ 8102E1C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08102E38 @ =gTasks
- ldr r1, _08102E3C @ =gSharedMem
- adds r1, 0x3A
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x8]
- bx lr
- .align 2, 0
-_08102E38: .4byte gTasks
-_08102E3C: .4byte gSharedMem
- thumb_func_end sub_8102E1C
-
- thumb_func_start sub_8102E40
-sub_8102E40: @ 8102E40
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08102E60 @ =gTasks
- ldr r1, _08102E64 @ =gSharedMem
- adds r1, 0x3A
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08102E60: .4byte gTasks
-_08102E64: .4byte gSharedMem
- thumb_func_end sub_8102E40
-
- thumb_func_start sub_8102E68
-sub_8102E68: @ 8102E68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08102E98 @ =gUnknown_083ECB2C
- ldr r2, _08102E9C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08102E7A:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08102E7A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102E98: .4byte gUnknown_083ECB2C
-_08102E9C: .4byte gTasks
- thumb_func_end sub_8102E68
-
- thumb_func_start sub_8102EA0
-sub_8102EA0: @ 8102EA0
- movs r0, 0
- bx lr
- thumb_func_end sub_8102EA0
-
- thumb_func_start sub_8102EA4
-sub_8102EA4: @ 8102EA4
- push {lr}
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08102EBC @ =gSharedMem
- movs r2, 0x1A
- ldrsh r1, [r1, r2]
- bl sub_8102C84
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102EBC: .4byte gSharedMem
- thumb_func_end sub_8102EA4
-
thumb_func_start sub_8102EC0
sub_8102EC0: @ 8102EC0
push {r4,lr}
diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c
index 6f1e7610a..55bbaef3a 100644
--- a/src/field/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -99,7 +99,7 @@ bool8 sub_8102A44(void);
u8 sub_8102BA4(u8 x, s16 y);
static void sub_8102DA8(void);
static void sub_8102DEC(u8 a0);
-void sub_8102E1C(u8 a0);
+static void sub_8102E1C(u8 a0);
bool8 sub_8102E40(u8 a0);
void sub_8102E68(u8 taskId);
void sub_8103C14(u8 a0);
@@ -1311,6 +1311,34 @@ static void sub_8102DEC(u8 a0)
gTasks[eSlotMachine->unk3A[a0]].data[14] = 1;
}
+static void sub_8102E1C(u8 a0)
+{
+ gTasks[eSlotMachine->unk3A[a0]].data[0] = 2;
+}
+
+bool8 sub_8102E40(u8 a0)
+{
+ return gTasks[eSlotMachine->unk3A[a0]].data[14];
+}
+
+extern bool8 (*const gUnknown_083ECB2C[])(struct Task *task);
+
+void sub_8102E68(u8 taskId)
+{
+ while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId));
+}
+
+bool8 sub_8102EA0(struct Task *task)
+{
+ return FALSE;
+}
+
+bool8 sub_8102EA4(struct Task *task)
+{
+ sub_8102C84(task->data[15], eSlotMachine->unk1A);
+ return FALSE;
+}
+
asm(".section .text_a");
static void LoadSlotMachineWheelOverlay(void);