diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-12-26 20:48:28 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-12-26 20:48:28 -0500 |
commit | 3a51ad2c81b0c479c2621e81ae13d28f3f90fc48 (patch) | |
tree | 23ad315afb7f6723959edc12f81e9cf12ce530d2 | |
parent | a3b25543b3d85a5f88284752367abd6ed713f82b (diff) |
through sub_8102EA4
-rw-r--r-- | asm/slot_machine.s | 96 | ||||
-rw-r--r-- | src/field/slot_machine.c | 30 |
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); |