summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-23 21:33:46 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-23 21:33:46 -0500
commit482db3566086318c27d1accbe89a96e2f695de5b (patch)
tree7b2191e128df8e7d55fede952d95fc6d71d7f3f4 /src
parentb66b2e49bea686c71b62f0f31470aef09b50a15d (diff)
sub_81027D0
Diffstat (limited to 'src')
-rw-r--r--src/field/slot_machine.c42
1 files changed, 38 insertions, 4 deletions
diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c
index be6c8746b..2e47317a5 100644
--- a/src/field/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -86,10 +86,16 @@ static void sub_8102484(void);
static void sub_81024F0(void);
static bool8 sub_8102540(void);
static u8 sub_8102578(void);
-u8 sub_81025BC(void);
-void sub_81027A0(void);
+u16 dp15_jump_random_unknown(void);
+static u8 sub_81025BC(void);
+static void sub_81027A0(void);
+void sub_81027D0(void);
+void sub_8102840(void);
+void sub_810290C(void);
+u8 sub_81029D4(u8 a0, u8 a1, u8 a2);
void sub_8102A24(void);
bool8 sub_8102A44(void);
+u8 sub_8102BA4(u8 a0, u8 a1);
void sub_8102DA8(void);
void sub_8102DEC(u8 a0);
void sub_8102E1C(u8 a0);
@@ -98,6 +104,7 @@ void sub_8103C14(u8 a0);
void sub_8103D50(u8 a0);
void sub_8103D8C(u8 a0);
void sub_8103DC8(void);
+void sub_8103E04(u8 a0);
void sub_8103F70(void);
bool8 sub_8103FA0(void);
void sub_8104048(void);
@@ -117,7 +124,6 @@ void sub_81050C4(void);
void sub_81063C0(void);
static void sub_8106448(void);
void sub_81064B8(void);
-u16 dp15_jump_random_unknown(void);
static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = {
sub_8101D5C,
@@ -894,7 +900,7 @@ static u8 sub_8102578(void)
extern const u8 gUnknown_083ECD28[][6];
-u8 sub_81025BC(void)
+static u8 sub_81025BC(void)
{
s16 i;
@@ -1011,6 +1017,34 @@ u16 dp15_jump_random_unknown(void)
return 8;
}
+static void sub_81027A0(void)
+{
+ eSlotMachine->unk08 = 0;
+ sub_81027D0();
+ if (eSlotMachine->bet > 1)
+ {
+ sub_8102840();
+ }
+ if (eSlotMachine->bet > 2)
+ {
+ sub_810290C();
+ }
+}
+
+extern const u16 gUnknown_083ECE6C[];
+extern const u16 gUnknown_083ECE5A[];
+
+void sub_81027D0(void)
+{
+ u8 payout = sub_81029D4(sub_8102BA4(0, 2), sub_8102BA4(1, 2), sub_8102BA4(2, 2));
+ if (payout != 9)
+ {
+ eSlotMachine->unk0E += gUnknown_083ECE6C[payout];
+ eSlotMachine->unk08 |= gUnknown_083ECE5A[payout];
+ sub_8103E04(0);
+ }
+}
+
asm(".section .text_a");
static void LoadSlotMachineWheelOverlay(void);