summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-02-16 18:41:05 -0600
committerCameron Hall <cameronghall@cox.net>2018-02-16 18:41:05 -0600
commitedc214732e28e264a3d54afc01a44c2307604703 (patch)
tree7d9a08dd31b2ea23dbf45cb779f28ede4e72572e /src
parent18837b385535975044c14ed9a735833dc7d02126 (diff)
finish decompiling debug code in slot_machine.c
Diffstat (limited to 'src')
-rw-r--r--src/battle/battle_controller_player.c4
-rw-r--r--src/field/slot_machine.c2631
2 files changed, 753 insertions, 1882 deletions
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 16735018a..1824f9182 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -778,7 +778,7 @@ void sub_802C68C(void)
for (i = 0; i < 64; i++)
{
if (gSprites[i].inUse)
- count++;
+ count++;
}
ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x122, 8, 0x39);
@@ -788,7 +788,7 @@ void sub_802C68C(void)
for (i = 0, count = 0; i < 32; i++)
{
if (gOamMatrixAllocBitmap & (1 << i))
- count++;
+ count++;
}
ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39);
diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c
index 9cc78bd44..6111cb27f 100644
--- a/src/field/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -8,6 +8,7 @@
#include "sound.h"
#include "main.h"
#include "slot_machine.h"
+#include "string_util.h"
#include "decompress.h"
#include "trig.h"
#include "graphics.h"
@@ -228,9 +229,10 @@ static void sub_81065DC(void);
static void debug_sub_811B5D0(void);
static void debug_sub_811B620(void);
-static void debug_sub_811B5B4();
+static void debug_sub_811B5B4(s32 *, s32);
static void debug_sub_811B894(void);
static u8 debug_sub_811B634(void);
+static void debug_sub_811B654(u8 taskId);
#if DEBUG
__attribute__((section(".bss"))) u8 unk_debug_bss_1_0 = 0;
@@ -695,7 +697,7 @@ static bool8 sub_8101FA4(struct Task *task)
eSlotMachine->unk1A = dp15_jump_random_unknown();
#if DEBUG
if (unk_debug_bss_1_1 != 0)
- debug_sub_811B5B4(eSlotMachine->unk68, 1);
+ debug_sub_811B5B4(&eSlotMachine->unk68, 1);
#endif
return FALSE;
}
@@ -827,7 +829,7 @@ bool8 sub_81020C8(struct Task *task)
if (eSlotMachine->matchedSymbols)
{
#if DEBUG
- debug_sub_811B5B4(eSlotMachine->unk6C, eSlotMachine->payout);
+ debug_sub_811B5B4(&eSlotMachine->unk6C, eSlotMachine->payout);
#endif
eSlotMachine->state = 15;
sub_8102A24();
@@ -1055,248 +1057,81 @@ static bool8 debug_sub_8116E74(struct Task *task)
#endif
-#if DEBUG
-__attribute__((naked))
static void sub_8102484(void)
{
- asm("\
- push {r4, r5, r6, lr}\n\
- ldr r0, ._256 @ \n\
- ldrb r2, [r0, #0xa]\n\
- add r4, r0, #0\n\
- cmp r2, #0\n\
- beq ._242 @cond_branch\n\
- b ._270\n\
-._242:\n\
- ldr r0, ._256 + 4 @ \n\
- ldrb r0, [r0]\n\
- cmp r0, #0\n\
- beq ._245 @cond_branch\n\
- ldr r3, ._256 + 8 @ \n\
- ldrb r0, [r3]\n\
- cmp r0, #0\n\
- beq ._245 @cond_branch\n\
- ldr r0, ._256 + 12 @ \n\
- ldrb r1, [r0]\n\
- strb r1, [r4, #0x4]\n\
- strb r2, [r3]\n\
- strb r2, [r0]\n\
- mov r0, #0x80\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._246 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x88\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._246:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x40\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._247 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x84\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._247:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x20\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._248 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x8c\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._248:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x10\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._249 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x80\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._249:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x8\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._250 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x7c\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._250:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x4\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._251 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x78\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._251:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._252 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x74\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._252:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x2\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- bne ._253 @cond_branch\n\
- b ._270\n\
-._253:\n\
- add r0, r4, #0\n\
- add r0, r0, #0x70\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
- b ._270\n\
-._257:\n\
- .align 2, 0\n\
-._256:\n\
- .word +0x2000000\n\
- .word unk_debug_bss_1_1\n\
- .word unk_debug_bss_1_2\n\
- .word unk_debug_bss_1_3\n\
-._245:\n\
- add r5, r4, #0\n\
- ldrb r1, [r5, #0x4]\n\
- mov r0, #0xc0\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- bne ._270 @cond_branch\n\
- bl sub_8102540\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- beq ._260 @cond_branch\n\
- bl sub_8102578\n\
- lsl r0, r0, #0x18\n\
- lsr r6, r0, #0x18\n\
- cmp r6, #0x3\n\
- beq ._260 @cond_branch\n\
- ldr r1, ._271 @ gUnknown_083ECE42\n\
- lsl r0, r6, #0x1\n\
- add r0, r0, r1\n\
- ldrb r1, [r0]\n\
- ldrb r0, [r5, #0x4]\n\
- orr r0, r0, r1\n\
- strb r0, [r5, #0x4]\n\
- mov r1, #0x80\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._261 @cond_branch\n\
- add r0, r5, #0\n\
- add r0, r0, #0x88\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._261:\n\
- ldrb r1, [r5, #0x4]\n\
- mov r0, #0x40\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._262 @cond_branch\n\
- add r0, r5, #0\n\
- add r0, r0, #0x84\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._262:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x20\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._263 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x8c\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._263:\n\
- cmp r6, #0x1\n\
- bne ._270 @cond_branch\n\
-._260:\n\
- bl sub_81025BC\n\
- lsl r0, r0, #0x18\n\
- lsr r6, r0, #0x18\n\
- cmp r6, #0x5\n\
- beq ._270 @cond_branch\n\
- ldr r4, ._271 + 4 @ \n\
- ldr r1, ._271 + 8 @ \n\
- lsl r0, r6, #0x1\n\
- add r0, r0, r1\n\
- ldrb r1, [r0]\n\
- ldrb r0, [r4, #0x4]\n\
- orr r0, r0, r1\n\
- strb r0, [r4, #0x4]\n\
- mov r1, #0x10\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._266 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x80\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._266:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x8\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._267 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x7c\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._267:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x4\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._268 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x78\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._268:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._269 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x74\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._269:\n\
- ldrb r1, [r4, #0x4]\n\
- mov r0, #0x2\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._270 @cond_branch\n\
- add r0, r4, #0\n\
- add r0, r0, #0x70\n\
- mov r1, #0x1\n\
- bl debug_sub_811B5B4\n\
-._270:\n\
- pop {r4, r5, r6}\n\
- pop {r0}\n\
- bx r0\n\
-._272:\n\
- .align 2, 0\n\
-._271:\n\
- .word gUnknown_083ECE42\n\
- .word +0x2000000\n\
- .word gUnknown_083ECE48");
+ u8 r3;
+
+ if (eSlotMachine->unk0A == 0)
+ {
+#if DEBUG
+ if (unk_debug_bss_1_1 != 0 && unk_debug_bss_1_2 != 0)
+ {
+ eSlotMachine->unk04 = unk_debug_bss_1_3;
+ unk_debug_bss_1_2 = 0;
+ unk_debug_bss_1_3 = 0;
+ if (eSlotMachine->unk04 & 0x80)
+ debug_sub_811B5B4(&eSlotMachine->unk88, 1);
+ if (eSlotMachine->unk04 & 0x40)
+ debug_sub_811B5B4(&eSlotMachine->unk84, 1);
+ if (eSlotMachine->unk04 & 0x20)
+ debug_sub_811B5B4(&eSlotMachine->unk8C, 1);
+ if (eSlotMachine->unk04 & 0x10)
+ debug_sub_811B5B4(&eSlotMachine->unk80, 1);
+ if (eSlotMachine->unk04 & 8)
+ debug_sub_811B5B4(&eSlotMachine->unk7C, 1);
+ if (eSlotMachine->unk04 & 4)
+ debug_sub_811B5B4(&eSlotMachine->unk78, 1);
+ if (eSlotMachine->unk04 & 1)
+ debug_sub_811B5B4(&eSlotMachine->unk74, 1);
+ if (eSlotMachine->unk04 & 2)
+ debug_sub_811B5B4(&eSlotMachine->unk70, 1);
+ return;
+ }
+#endif
+ if (!(eSlotMachine->unk04 & 0xc0))
+ {
+ if (sub_8102540())
+ {
+ r3 = sub_8102578();
+ if (r3 != 3)
+ {
+ eSlotMachine->unk04 |= gUnknown_083ECE42[r3];
+#if DEBUG
+ if (eSlotMachine->unk04 & 0x80)
+ debug_sub_811B5B4(&eSlotMachine->unk88, 1);
+ if (eSlotMachine->unk04 & 0x40)
+ debug_sub_811B5B4(&eSlotMachine->unk84, 1);
+ if (eSlotMachine->unk04 & 0x20)
+ debug_sub_811B5B4(&eSlotMachine->unk8C, 1);
+#endif
+ if (r3 != 1)
+ {
+ return;
+ }
+ }
+ }
+ r3 = sub_81025BC();
+ if (r3 != 5)
+ {
+ eSlotMachine->unk04 |= gUnknown_083ECE48[r3];
+#if DEBUG
+ if (eSlotMachine->unk04 & 0x10)
+ debug_sub_811B5B4(&eSlotMachine->unk80, 1);
+ if (eSlotMachine->unk04 & 8)
+ debug_sub_811B5B4(&eSlotMachine->unk7C, 1);
+ if (eSlotMachine->unk04 & 4)
+ debug_sub_811B5B4(&eSlotMachine->unk78, 1);
+ if (eSlotMachine->unk04 & 1)
+ debug_sub_811B5B4(&eSlotMachine->unk74, 1);
+ if (eSlotMachine->unk04 & 2)
+ debug_sub_811B5B4(&eSlotMachine->unk70, 1);
+#endif
+ }
+ }
+ }
}
-#else
+
+/*
static void sub_8102484(void)
{
u8 r3;
@@ -1322,15 +1157,13 @@ static void sub_8102484(void)
}
}
}
-#endif
+*/
static void sub_81024F0(void)
{
eSlotMachine->unk06 = 0;
if (eSlotMachine->unk04)
- {
eSlotMachine->unk06 = 1;
- }
}
static u8 sub_810250C(u8 a0)
@@ -1340,9 +1173,7 @@ static u8 sub_810250C(u8 a0)
for (i = 0; i < 8; i++)
{
if (a0 & 1)
- {
return gUnknown_083ECE3A[i];
- }
a0 >>= 1;
}
return 0;
@@ -1352,9 +1183,7 @@ static bool8 sub_8102540(void)
{
u8 rval = Random();
if (gUnknown_083ECD04[eSlotMachine->unk01][eSlotMachine->bet - 1] > rval)
- {
return TRUE;
- }
return FALSE;
}
@@ -1369,9 +1198,7 @@ static u8 sub_8102578(void)
s16 rval = Random() & 0xff;
s16 value = gUnknown_083ECD16[i][eSlotMachine->unk01];
if (value > rval)
- {
break;
- }
}
return i;
}
@@ -1390,22 +1217,16 @@ static u8 sub_81025BC(void)
{
r3 += 10;
if (r3 > 0x100)
- {
r3 = 0x100;
- }
}
else if (i == 4 && eSlotMachine->unk03 == 1)
{
r3 -= 10;
if (r3 < 0)
- {
r3 = 0;
- }
}
if (r3 > rval)
- {
break;
- }
}
return i;
}
@@ -1416,10 +1237,9 @@ static const u8 gUnknown_083ECDAC[][17];
static u8 sub_810264C(u8 a0)
{
if (eSlotMachine->unk03 == 0)
- {
return gUnknown_083ECD46[a0][eSlotMachine->pikaPower];
- }
- return gUnknown_083ECDAC[a0][eSlotMachine->pikaPower];
+ else
+ return gUnknown_083ECDAC[a0][eSlotMachine->pikaPower];
}
static void sub_8102680(void)
@@ -1430,16 +1250,12 @@ static void sub_8102680(void)
eSlotMachine->unk05 = 0;
rval = Random();
if (rval < sub_810264C(0))
- {
return;
- }
for (i = 5; i > 0; i--)
{
rval = Random();
if (rval < sub_810264C(i))
- {
break;
- }
}
eSlotMachine->unk05 = i;
}
@@ -1450,10 +1266,9 @@ static bool8 sub_81026DC(u16 a0)
{
u16 rval = Random() & 0xff;
if (rval < gUnknown_083ECE12[a0])
- {
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
static const u16 gUnknown_083ECE1C[][2];
@@ -1465,33 +1280,21 @@ static u16 dp15_jump_random_unknown(void)
u8 rval;
u8 value;
if (eSlotMachine->unk10 >= 300)
- {
r4 = 4;
- }
else if (eSlotMachine->unk10 >= 250)
- {
r4 = 3;
- }
else if (eSlotMachine->unk10 >= 200)
- {
r4 = 2;
- }
else if (eSlotMachine->unk10 >= 150)
- {
r4 = 1;
- }
rval = Random() % 100;
value = gUnknown_083ECE1C[r4][0];
if (rval < value)
- {
return 4;
- }
rval = Random() % 100;
value = gUnknown_083ECE1C[r4][1] + gUnknown_083ECE30[eSlotMachine->unk0B];
if (rval < value)
- {
return 2;
- }
return 8;
}
@@ -1500,13 +1303,9 @@ static void CheckMatch(void)
eSlotMachine->matchedSymbols = 0;
CheckMatch_CenterRow();
if (eSlotMachine->bet > 1)
- {
CheckMatch_TopAndBottom();
- }
if (eSlotMachine->bet > 2)
- {
CheckMatch_Diagonals();
- }
}
static const u16 sSlotMatchFlags[];
@@ -1539,9 +1338,7 @@ static void CheckMatch_TopAndBottom(void)
if (match != SLOT_MACHINE_MATCHED_NONE)
{
if (match == SLOT_MACHINE_MATCHED_1CHERRY)
- {
match = SLOT_MACHINE_MATCHED_2CHERRY;
- }
eSlotMachine->payout += sSlotPayouts[match];
eSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
sub_8103E04(1);
@@ -1553,9 +1350,7 @@ static void CheckMatch_TopAndBottom(void)
if (match != SLOT_MACHINE_MATCHED_NONE)
{
if (match == SLOT_MACHINE_MATCHED_1CHERRY)
- {
match = SLOT_MACHINE_MATCHED_2CHERRY;
- }
eSlotMachine->payout += sSlotPayouts[match];
eSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
sub_8103E04(2);
@@ -1599,21 +1394,13 @@ static const u8 sSym2Match[];
static u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3)
{
if (c1 == c2 && c1 == c3)
- {
return sSym2Match[c1];
- }
if (c1 == SLOT_MACHINE_TAG_7_RED && c2 == SLOT_MACHINE_TAG_7_RED && c3 == SLOT_MACHINE_TAG_7_BLUE)
- {
return SLOT_MACHINE_MATCHED_777_MIXED;
- }
if (c1 == SLOT_MACHINE_TAG_7_BLUE && c2 == SLOT_MACHINE_TAG_7_BLUE && c3 == SLOT_MACHINE_TAG_7_RED)
- {
return SLOT_MACHINE_MATCHED_777_MIXED;
- }
if (c1 == SLOT_MACHINE_TAG_CHERRY)
- {
return SLOT_MACHINE_MATCHED_1CHERRY;
- }
return SLOT_MACHINE_MATCHED_NONE;
}
@@ -1625,13 +1412,13 @@ static void sub_8102A24(void)
static bool8 sub_8102A44(void)
{
if (FindTaskIdByFunc(sub_8102A64) == 0xff)
- {
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
-static bool8 (*const gUnknown_083ECB20[])(struct Task *task) = {
+static bool8 (*const gUnknown_083ECB20[])(struct Task *task) =
+{
sub_8102A9C,
sub_8102AD0,
sub_8102B80
@@ -1639,7 +1426,8 @@ static bool8 (*const gUnknown_083ECB20[])(struct Task *task) = {
static void sub_8102A64(u8 taskId)
{
- while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId));
+ while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId))
+ ;
}
static bool8 sub_8102A9C(struct Task *task)
@@ -1661,43 +1449,31 @@ static bool8 sub_8102AD0(struct Task *task)
if (!task->data[1]--)
{
if (IsFanfareTaskInactive())
- {
PlaySE(SE_PIN);
- }
eSlotMachine->payout--;
if (eSlotMachine->coins < 9999)
- {
eSlotMachine->coins++;
- }
task->data[1] = 8;
if (gMain.heldKeys & A_BUTTON)
- {
task->data[1] = 4;
- }
}
if (IsFanfareTaskInactive() && gMain.newKeys & START_BUTTON)
{
PlaySE(SE_PIN);
eSlotMachine->coins += eSlotMachine->payout;
if (eSlotMachine->coins > 9999)
- {
eSlotMachine->coins = 9999;
- }
eSlotMachine->payout = 0;
}
if (eSlotMachine->payout == 0)
- {
task->data[0]++;
- }
return FALSE;
}
static bool8 sub_8102B80(struct Task *task)
{
if (sub_8103E7C())
- {
DestroyTask(FindTaskIdByFunc(sub_8102A64));
- }
return FALSE;
}
@@ -1707,9 +1483,7 @@ static u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y)
{
s16 offset = (eSlotMachine->reelPositions[x] + y) % 21;
if (offset < 0)
- {
offset += 21;
- }
return sReelSymbols[x][offset];
}
@@ -1799,7 +1573,8 @@ static bool8 sub_8102E40(u8 a0)
return gTasks[eSlotMachine->reelTasks[a0]].data[14];
}
-static bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = {
+static bool8 (*const gUnknown_083ECB2C[])(struct Task *task) =
+{
sub_8102EA0,
sub_8102EA4,
sub_8102EC0,
@@ -1809,7 +1584,8 @@ static bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = {
static void sub_8102E68(u8 taskId)
{
- while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId));
+ while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId))
+ ;
}
static bool8 sub_8102EA0(struct Task *task)
@@ -1823,12 +1599,15 @@ static bool8 sub_8102EA4(struct Task *task)
return FALSE;
}
-static bool8 (*const gUnknown_083ECB40[])(void) = {
+static bool8 (*const gUnknown_083ECB40[])(void) =
+{
sub_810305C,
sub_81032C0,
sub_81033DC
};
-static void (*const gUnknown_083ECB4C[])(void) = {
+
+static void (*const gUnknown_083ECB4C[])(void) =
+{
sub_81034F4,
sub_8103540,
sub_810380C
@@ -1853,9 +1632,7 @@ static bool8 sub_8102F4C(struct Task *task)
u16 sp[] = {2, 4, 4, 4, 8};
s16 r2 = eSlotMachine->unk1C[task->data[15]] % 24;
if (r2 != 0)
- {
r2 = sub_8102CCC(task->data[15], eSlotMachine->unk1A);
- }
else if (eSlotMachine->unk2E[task->data[15]])
{
eSlotMachine->unk2E[task->data[15]]--;
@@ -1877,9 +1654,7 @@ static bool8 sub_8103008(struct Task *task)
task->data[1] = -task->data[1];
task->data[2]++;
if ((task->data[2] & 0x3) == 0)
- {
task->data[1] >>= 1;
- }
if (task->data[1] == 0)
{
task->data[0] = 0;
@@ -1889,7 +1664,8 @@ static bool8 sub_8103008(struct Task *task)
return FALSE;
}
-static bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1) = {
+static bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1) =
+{
sub_8103154,
sub_81031B4,
sub_81031B4
@@ -1921,19 +1697,17 @@ static bool8 sub_81030A4(s16 y, u8 tag1, u8 tag2)
static bool8 sub_81030E0(s16 y)
{
if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 1 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 3 - y) == 4)
- {
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
static bool8 sub_8103134(void)
{
if (eSlotMachine->unk04 & 0xc2)
- {
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
static bool8 sub_8103154(u8 a0, u8 a1)
@@ -1996,7 +1770,8 @@ static bool8 sub_81031B4(u8 tag1, u8 tag2)
return FALSE;
}
-static bool8 (*const gUnknown_083ECB70[])(void) = {
+static bool8 (*const gUnknown_083ECB70[])(void) =
+{
sub_81032E8,
sub_81032E8,
sub_810333C
@@ -2058,7 +1833,8 @@ static bool8 sub_810333C(void)
return FALSE;
}
-static bool8 (*const gUnknown_083ECB7C[])(u8 a0) = {
+static bool8 (*const gUnknown_083ECB7C[])(u8 a0) =
+{
sub_810341C,
sub_810341C,
sub_810347C
@@ -2100,14 +1876,11 @@ static bool8 sub_810347C(u8 a0)
s16 i;
s16 r8;
if (eSlotMachine->unk34[0] == eSlotMachine->unk34[1])
- {
return sub_810341C(a0);
- }
- r8 = 1;
if (eSlotMachine->unk34[0] == 1)
- {
r8 = 3;
- }
+ else
+ r8 = 1;
for (i = 0; i < 5; i++)
{
if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, r8 - i) == a0)
@@ -2122,8 +1895,10 @@ static bool8 sub_810347C(u8 a0)
static void sub_81034F4(void)
{
- s16 i;
- for (i = 0; sub_81030E0(i); i++);
+ s16 i = 0;
+
+ while (sub_81030E0(i) != 0)
+ i++;
eSlotMachine->unk2E[0] = i;
}
@@ -2142,7 +1917,8 @@ static bool8 sub_8103520(u8 *a0)
return FALSE;
}
-static void (*const gUnknown_083ECB88[])(void) = {
+static void (*const gUnknown_083ECB88[])(void) =
+{
sub_8103564,
j5_08111E84,
sub_8103668
@@ -2263,19 +2039,17 @@ static void sub_8103668(void)
static bool8 sub_8103764(u8 a0, u8 a1)
{
if ((a0 == 0 && a1 == 1) || (a0 == 1 && a1 == 0))
- {
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
static bool8 sub_810378C(u8 a0, u8 a1, u8 a2)
{
if ((a0 == 0 && a1 == 1 && a2 == 0) || (a0 == 1 && a1 == 0 && a2 == 1))
- {
return TRUE;
- }
- return FALSE;
+ else
+ return FALSE;
}
static bool8 sub_81037BC(u8 a0, u8 a1, u8 a2)
@@ -2291,7 +2065,8 @@ static bool8 sub_81037BC(u8 a0, u8 a1, u8 a2)
return TRUE;
}
-static void (*const gUnknown_083ECB94[])(void) = {
+static void (*const gUnknown_083ECB94[])(void) =
+{
sub_8103830,
sub_8103910,
sub_8103A78
@@ -2313,9 +2088,7 @@ static void sub_8103830(void)
{
u8 r0;
if (!(r5 == (r0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) || (r5 == 0 && r0 == 1) || (r5 == 1 && r0 == 0)))
- {
break;
- }
i++;
}
}
@@ -2336,9 +2109,7 @@ static void sub_8103830(void)
while (1)
{
if (r5 != GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i))
- {
break;
- }
i++;
}
}
@@ -2385,9 +2156,7 @@ static void sub_8103910(void)
}
}
if (r8 == 0)
- {
break;
- }
sp0++;
}
eSlotMachine->unk2E[2] = sp0;
@@ -2449,7 +2218,8 @@ static void sub_8103C14(u8 a0)
sub_8103C48(taskId);
}
-static void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId) = {
+static void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId) =
+{
sub_8103C78,
sub_8103CAC,
sub_8103CC8
@@ -2501,18 +2271,14 @@ static void sub_8103D50(u8 a0)
{
u8 i;
for (i = 0; i < gUnknown_083EDD3B[a0]; i++)
- {
sub_8103D00(gUnknown_083EDD35[a0][i]);
- }
}
static void sub_8103D8C(u8 a0)
{
u8 i;
for (i = 0; i < gUnknown_083EDD3B[a0]; i++)
- {
sub_8103D28(gUnknown_083EDD35[a0][i]);
- }
}
static void sub_8103DC8(void)
@@ -2542,7 +2308,7 @@ static bool8 sub_8103E38(void)
u8 i;
for (i = 0; i < 5; i++)
{
- struct Sprite *sprite = gSprites + eSlotMachine->unk44[i];
+ struct Sprite *sprite = &gSprites[eSlotMachine->unk44[i]];
if (sprite->data[1] && sprite->data[2])
return FALSE;
}
@@ -2629,9 +2395,7 @@ static void sub_8103FE8(u8 taskId)
task->data[1] = 4;
task->data[2] += task->data[3];
if (task->data[2] == 0 || task->data[2] == 2)
- {
task->data[3] = -task->data[3];
- }
}
LoadPalette(gUnknown_083EDDA0[task->data[2]], 0x10, 0x20);
}
@@ -2663,7 +2427,8 @@ static bool8 sub_81040C8(void)
return gTasks[eSlotMachine->unk3E].data[15];
}
-static void (*const gUnknown_083ECBB4[])(struct Task *task) = {
+static void (*const gUnknown_083ECBB4[])(struct Task *task) =
+{
nullsub_68,
sub_810411C,
sub_8104144,
@@ -2677,7 +2442,6 @@ static void sub_81040E8(u8 taskId)
static void nullsub_68(struct Task *task)
{
-
}
static void sub_810411C(struct Task *task)
@@ -2686,10 +2450,11 @@ static void sub_810411C(struct Task *task)
task->data[0]++;
}
-static const u16 gUnknown_083ECBC4[][2] = {
+static const u16 gUnknown_083ECBC4[][2] =
+{
{0x9e, 0x6e},
{0x9f, 0x6f},
- {0xaf, 0x7f}
+ {0xaf, 0x7f},
};
static void sub_8104144(struct Task *task)
@@ -2781,7 +2546,8 @@ static bool8 sub_810432C(void)
return FALSE;
}
-static void (*const gUnknown_083ECBD0[])(struct Task *task) = {
+static void (*const gUnknown_083ECBD0[])(struct Task *task) =
+{
sub_810437C,
sub_81043EC,
sub_8104468,
@@ -2918,9 +2684,7 @@ static void sub_81045CC(struct Task *task)
if (eSlotMachine->unk05)
{
if (eSlotMachine->unk0A <= task->data[6])
- {
task->data[0]++;
- }
}
else if (task->data[6] > 3)
{
@@ -2987,9 +2751,7 @@ static void sub_81046C0(struct Task *task)
static void sub_8104764(struct Task *task)
{
if ((task->data[4] == 0 || --task->data[4] == 0) && !sub_81040C8())
- {
task->data[0]++;
- }
}
static void sub_8104794(struct Task *task)
@@ -3001,13 +2763,9 @@ static void sub_8104794(struct Task *task)
r4 = ((task->data[1] - 8) & 0xff) >> 3;
REG_BG1HOFS = task->data[1] & 0x1ff;
if (task->data[3] >> 3 <= 25)
- {
sub_8104A88(r4);
- }
else
- {
task->data[0]++;
- }
}
static void sub_81047EC(struct Task *task)
@@ -3038,21 +2796,15 @@ static void sub_81047EC(struct Task *task)
static void sub_8104860(struct Task *task)
{
if (eSlotMachine->unk1A == task->data[1])
- {
task->data[0]++;
- }
else if (eSlotMachine->unk1C[0] % 24 == 0 && (++task->data[2]& 0x07) == 0)
- {
eSlotMachine->unk1A >>= 1;
- }
}
static void sub_81048A8(struct Task *task)
{
if (sub_8104E18())
- {
DestroyTask(FindTaskIdByFunc(sub_810434C));
- }
}
static void sub_81048CC(struct Task *task)
@@ -3148,10 +2900,12 @@ static bool8 sub_8104AEC(void)
{
if (FindTaskIdByFunc(sub_8104B0C) == 0xFF)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
-static void (*const gUnknown_083ECC30[])(struct Task *task) = {
+static void (*const gUnknown_083ECC30[])(struct Task *task) =
+{
sub_8104B3C,
sub_8104B60,
sub_8104B80,
@@ -3177,9 +2931,7 @@ static void sub_8104B3C(struct Task *task)
static void sub_8104B60(struct Task *task)
{
if (!gPaletteFade.active)
- {
task->data[0]++;
- }
}
static void sub_8104B80(struct Task *task)
@@ -3226,9 +2978,7 @@ static void sub_8104C5C(void)
task = gTasks + i;
task->data[1] = -1;
for (i = 4; i < 16; i++)
- {
task->data[i] = MAX_SPRITES;
- }
}
static void LoadSlotMachineWheelOverlay(void);
@@ -3307,8 +3057,9 @@ static bool8 sub_8104E18(void)
return TRUE;
}
-static void (*const gUnknown_083ECC54[])(struct Task *task) = {
- nullsub_69
+static void (*const gUnknown_083ECC54[])(struct Task *task) =
+{
+ nullsub_69,
};
static void sub_8104E74(u8 taskId)
@@ -3318,7 +3069,6 @@ static void sub_8104E74(u8 taskId)
static void nullsub_69(struct Task *task)
{
-
}
static const struct SpriteTemplate gSpriteTemplate_83ED414;
@@ -3354,14 +3104,11 @@ static void sub_8104F8C(void)
{
s16 i;
s16 x;
+
for (x = 203, i = 1; i < 10000; i *= 10, x -= 7)
- {
sub_8104FF4(x, 23, 0, i);
- }
for (x = 235, i = 1; i < 10000; i *= 10, x -= 7)
- {
sub_8104FF4(x, 23, 1, i);
- }
}
static const struct SpriteTemplate gSpriteTemplate_83ED42C;
@@ -3424,9 +3171,7 @@ static void sub_8105170(struct Sprite *sprite)
{
sprite->pos2.y = sprite->pos2.x = 8;
if ((sprite->animCmdIndex != 0 && sprite->animDelayCounter != 0) || (sprite->animCmdIndex == 0 && sprite->animDelayCounter == 0))
- {
sprite->pos2.y = -8;
- }
}
}
@@ -3438,14 +3183,14 @@ static const struct SubspriteTable gSubspriteTables_83ED75C[];
static void sub_81051C0(void)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED474, 0x170, 0x34, 7);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
SetSubspriteTables(sprite, gSubspriteTables_83ED73C);
eSlotMachine->unk49[0] = spriteId;
spriteId = CreateSprite(&gSpriteTemplate_83ED48C, 0x170, 0x54, 7);
- sprite = gSprites + spriteId;
+ sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
SetSubspriteTables(sprite, gSubspriteTables_83ED75C);
@@ -3458,7 +3203,7 @@ static const struct SubspriteTable gSubspriteTables_83ED78C[];
static void sub_8105284(void)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4A4, 0xa8 - gSpriteCoordOffsetX, 0x50, 7);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
SetSubspriteTables(sprite, gSubspriteTables_83ED78C);
@@ -3474,7 +3219,7 @@ static void sub_81052EC(void)
for (i = 0, r5 = 0; i < 3; i++, r5 += 20)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4BC, 0x170, 0x00, 10);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
sprite->data[7] = r5;
@@ -3496,14 +3241,14 @@ static const struct SubspriteTable gSubspriteTables_83ED7B4[];
static void sub_81053A0(void)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x170, 0x64, 9);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->coordOffsetEnabled = TRUE;
sprite->oam.priority = 1;
SetSubspriteTables(sprite, gSubspriteTables_83ED7B4);
eSlotMachine->unk4E[0] = spriteId;
spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x120, 0x68, 4);
- sprite = gSprites + spriteId;
+ sprite = &gSprites[spriteId];
sprite->coordOffsetEnabled = TRUE;
sprite->oam.priority = 1;
SetSubspriteTables(sprite, gSubspriteTables_83ED7B4);
@@ -3516,7 +3261,7 @@ static const struct SubspriteTable gSubspriteTables_83ED7D4[];
static void sub_810545C(void)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4EC, 0x170, 0x4c, 11);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->coordOffsetEnabled = TRUE;
sprite->oam.priority = 1;
SetSubspriteTables(sprite, gSubspriteTables_83ED7D4);
@@ -3527,29 +3272,24 @@ static void sub_81054B8(void)
{
u8 i;
- DestroySprite(gSprites + eSlotMachine->unk40);
+ DestroySprite(&gSprites[eSlotMachine->unk40]);
for (i = 0; i < 2; i++)
- {
- DestroySprite(gSprites + eSlotMachine->unk49[i]);
- }
+ DestroySprite(&gSprites[eSlotMachine->unk49[i]]);
for (i = 0; i < 3; i++)
- {
- DestroySprite(gSprites + eSlotMachine->unk4B[i]);
- }
+ DestroySprite(&gSprites[eSlotMachine->unk4B[i]]);
}
static void sub_8105524(void)
{
u8 i;
+
for (i = 0; i < 2; i++)
- {
- DestroySprite(gSprites + eSlotMachine->unk4E[i]);
- }
+ DestroySprite(&gSprites[eSlotMachine->unk4E[i]]);
}
static void sub_8105554(void)
{
- DestroySprite(gSprites + eSlotMachine->unk42);
+ DestroySprite(&gSprites[eSlotMachine->unk42]);
}
static const struct SpriteTemplate gSpriteTemplate_83ED504;
@@ -3557,7 +3297,7 @@ static const struct SpriteTemplate gSpriteTemplate_83ED504;
static void sub_8105578(void)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0x98, 0x20, 5);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->hFlip = TRUE;
eSlotMachine->unk50[0] = spriteId;
@@ -3567,7 +3307,7 @@ static void sub_8105578(void)
sprite->data[7] = 0x20;
spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0xb8, 0x20, 5);
- sprite = gSprites + spriteId;
+ sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
eSlotMachine->unk50[1] = spriteId;
sprite->data[1] = 1;
@@ -3608,9 +3348,7 @@ static void sub_81056C0(void)
u8 i;
for (i = 0; i < 2; i++)
- {
- DestroySprite(gSprites + eSlotMachine->unk50[i]);
- }
+ DestroySprite(&gSprites[eSlotMachine->unk50[i]]);
}
static const struct SpriteTemplate gSpriteTemplate_83ED51C;
@@ -3655,9 +3393,7 @@ static void sub_8105804(void)
u8 i;
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, 0, 0, 0);
for (i = 0; i < 2; i++)
- {
- DestroySprite(gSprites + eSlotMachine->unk52[i]);
- }
+ DestroySprite(&gSprites[eSlotMachine->unk52[i]]);
}
static const struct SpriteTemplate gSpriteTemplate_83ED534;
@@ -3676,7 +3412,7 @@ static void sub_8105894(struct Sprite *sprite)
static void sub_81058A0(void)
{
- DestroySprite(gSprites + eSlotMachine->unk41);
+ DestroySprite(&gSprites[eSlotMachine->unk41]);
}
static const struct SpriteTemplate gSpriteTemplate_83ED54C;
@@ -3688,7 +3424,7 @@ static void sub_81058C4(void)
for (i = 0; i < 4; i++)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED54C, 0x50 - gSpriteCoordOffsetX, 0x44, 0);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
sprite->data[0] = sp[i];
@@ -3719,7 +3455,7 @@ static void sub_81059B8(void)
u8 i;
for (i = 0; i < 4; i++)
{
- DestroySprite(gSprites + eSlotMachine->unk54[i]);
+ DestroySprite(&gSprites[eSlotMachine->unk54[i]]);
}
}
@@ -3728,7 +3464,7 @@ static const struct SpriteTemplate gSpriteTemplate_83ED564;
static void sub_81059E8(void)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED564, 0xa8, 0x3c, 8);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 1;
sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
InitSpriteAffineAnim(sprite);
@@ -3769,7 +3505,7 @@ u8 sub_8105ACC(void)
static void sub_8105AEC(void)
{
- struct Sprite *sprite = gSprites + eSlotMachine->unk43;
+ struct Sprite *sprite = &gSprites[eSlotMachine->unk43];
FreeOamMatrix(sprite->oam.matrixNum);
DestroySprite(sprite);
}
@@ -3779,7 +3515,7 @@ static const struct SpriteTemplate gSpriteTemplate_83ED6CC;
static u8 sub_8105B1C(s16 x, s16 y)
{
u8 spriteId = CreateSprite(&gSpriteTemplate_83ED6CC, x, y, 12);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 2;
sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
InitSpriteAffineAnim(sprite);
@@ -3794,7 +3530,7 @@ static void sub_8105B70(struct Sprite *sprite)
static void sub_8105B88(u8 spriteId)
{
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
FreeOamMatrix(sprite->oam.matrixNum);
DestroySprite(sprite);
}
@@ -3813,7 +3549,7 @@ static const struct SubspriteTable *const gUnknown_083EDBC4[];
static u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4)
{
u8 spriteId = CreateSprite(gUnknown_083EDB5C[templateIdx], x, y, 16);
- struct Sprite *sprite = gSprites + spriteId;
+ struct Sprite *sprite = &gSprites[spriteId];
sprite->oam.priority = 3;
sprite->callback = callback;
sprite->data[6] = a4;
@@ -3870,30 +3606,26 @@ static void sub_8105D3C(struct Sprite *sprite)
{
switch (sprite->data[0])
{
- case 0:
- sprite->pos1.x += 4;
- if (sprite->pos1.x >= 0xd0)
- {
- sprite->pos1.x = 0xd0;
- sprite->data[0]++;
- }
- break;
- case 1:
- if (++sprite->data[1] > 90)
- {
- sprite->data[0]++;
- }
- break;
- case 2:
- sprite->pos1.x += 4;
- if (sprite->pos1.x >= 0x110)
- {
- sprite->data[0]++;
- }
- break;
- case 3:
- sprite->data[7] = 0;
- break;
+ case 0:
+ sprite->pos1.x += 4;
+ if (sprite->pos1.x >= 0xd0)
+ {
+ sprite->pos1.x = 0xd0;
+ sprite->data[0]++;
+ }
+ break;
+ case 1:
+ if (++sprite->data[1] > 90)
+ sprite->data[0]++;
+ break;
+ case 2:
+ sprite->pos1.x += 4;
+ if (sprite->pos1.x >= 0x110)
+ sprite->data[0]++;
+ break;
+ case 3:
+ sprite->data[7] = 0;
+ break;
}
}
@@ -3901,30 +3633,26 @@ static void sub_8105DA4(struct Sprite *sprite)
{
switch (sprite->data[0])
{
- case 0:
- sprite->pos1.x -= 4;
- if (sprite->pos1.x <= 0xd0)
- {
- sprite->pos1.x = 0xd0;
- sprite->data[0]++;
- }
- break;
- case 1:
- if (++sprite->data[1] > 90)
- {
- sprite->data[0]++;
- }
- break;
- case 2:
- sprite->pos1.x -= 4;
- if (sprite->pos1.x <= 0x90)
- {
- sprite->data[0]++;
- }
- break;
- case 3:
- sprite->data[7] = 0;
- break;
+ case 0:
+ sprite->pos1.x -= 4;
+ if (sprite->pos1.x <= 0xd0)
+ {
+ sprite->pos1.x = 0xd0;
+ sprite->data[0]++;
+ }
+ break;
+ case 1:
+ if (++sprite->data[1] > 90)
+ sprite->data[0]++;
+ break;
+ case 2:
+ sprite->pos1.x -= 4;
+ if (sprite->pos1.x <= 0x90)
+ sprite->data[0]++;
+ break;
+ case 3:
+ sprite->data[7] = 0;
+ break;
}
}
@@ -3932,41 +3660,37 @@ static void sub_8105E08(struct Sprite *sprite)
{
switch (sprite->data[0])
{
- case 0:
- StartSpriteAnim(sprite, eSlotMachine->unk0A - 1);
+ case 0:
+ StartSpriteAnim(sprite, eSlotMachine->unk0A - 1);
+ sprite->data[0]++;
+ // fallthrough
+ case 1:
+ if (++sprite->data[1] >= 4)
+ {
sprite->data[0]++;
- // fallthrough
- case 1:
- if (++sprite->data[1] >= 4)
- {
- sprite->data[0]++;
- sprite->data[1] = 0;
- }
- break;
- case 2:
- sprite->pos1.x += 4;
- if (sprite->pos1.x >= 0xd0)
- {
- sprite->pos1.x = 0xd0;
- sprite->data[0]++;
- }
- break;
- case 3:
- if (++sprite->data[1] > 90)
- {
- sprite->data[0]++;
- }
- break;
- case 4:
- sprite->pos1.x += 4;
- if (sprite->pos1.x >= 0xf8)
- {
- sprite->data[0]++;
- }
- break;
- case 5:
- sprite->data[7] = 0;
- break;
+ sprite->data[1] = 0;
+ }
+ break;
+ case 2:
+ sprite->pos1.x += 4;
+ if (sprite->pos1.x >= 0xd0)
+ {
+ sprite->pos1.x = 0xd0;
+ sprite->data[0]++;
+ }
+ break;
+ case 3:
+ if (++sprite->data[1] > 90)
+ sprite->data[0]++;
+ break;
+ case 4:
+ sprite->pos1.x += 4;
+ if (sprite->pos1.x >= 0xf8)
+ sprite->data[0]++;
+ break;
+ case 5:
+ sprite->data[7] = 0;
+ break;
}
}
@@ -3974,39 +3698,39 @@ static void sub_8105EB4(struct Sprite *sprite)
{
switch (sprite->data[0])
{
- case 0:
- sprite->animPaused = TRUE;
+ case 0:
+ sprite->animPaused = TRUE;
+ sprite->data[0]++;
+ // fallthrough
+ case 1:
+ sprite->pos1.y += 8;
+ if (sprite->pos1.y >= 0x70)
+ {
+ sprite->pos1.y = 0x70;
+ sprite->data[1] = 16;
sprite->data[0]++;
- // fallthrough
- case 1:
- sprite->pos1.y += 8;
- if (sprite->pos1.y >= 0x70)
- {
- sprite->pos1.y = 0x70;
- sprite->data[1] = 16;
- sprite->data[0]++;
- }
- break;
- case 2:
- if (sprite->data[2] == 0)
+ }
+ break;
+ case 2:
+ if (sprite->data[2] == 0)
+ {
+ sprite->pos1.y -= sprite->data[1];
+ sprite->data[1] = -sprite->data[1];
+ if (++sprite->data[3] >= 2)
{
- sprite->pos1.y -= sprite->data[1];
- sprite->data[1] = -sprite->data[1];
- if (++sprite->data[3] >= 2)
+ sprite->data[1] >>= 2;
+ sprite->data[3] = 0;
+ if (sprite->data[1] == 0)
{
- sprite->data[1] >>= 2;
- sprite->data[3] = 0;
- if (sprite->data[1] == 0)
- {
- sprite->data[0]++;
- sprite->data[7] = 0;
- sprite->animPaused = FALSE;
- }
+ sprite->data[0]++;
+ sprite->data[7] = 0;
+ sprite->animPaused = FALSE;
}
}
- sprite->data[2]++;
- sprite->data[2] &= 0x07;
- break;
+ }
+ sprite->data[2]++;
+ sprite->data[2] &= 0x07;
+ break;
}
}
@@ -4014,21 +3738,19 @@ static void sub_8105F54(struct Sprite *sprite)
{
switch (sprite->data[0])
{
- case 0:
- if (++sprite->data[1] > 8)
- {
- sprite->data[0]++;
- }
- break;
- case 1:
- sprite->pos1.y += 2;
- if (sprite->pos1.y >= 0x30)
- {
- sprite->pos1.y = 0x30;
- sprite->data[0]++;
- sprite->data[7] = 0;
- }
- break;
+ case 0:
+ if (++sprite->data[1] > 8)
+ sprite->data[0]++;
+ break;
+ case 1:
+ sprite->pos1.y += 2;
+ if (sprite->pos1.y >= 0x30)
+ {
+ sprite->pos1.y = 0x30;
+ sprite->data[0]++;
+ sprite->data[7] = 0;
+ }
+ break;
}
}
@@ -4036,35 +3758,33 @@ static void sub_8105F9C(struct Sprite *sprite)
{
switch (sprite->data[0])
{
- case 0:
- sprite->invisible = TRUE;
- if (++sprite->data[1] > 0x20)
- {
- sprite->data[0]++;
- sprite->data[1] = 5;
- sprite->oam.mosaic = TRUE;
- sprite->invisible = FALSE;
- StartSpriteAnim(sprite, 1);
- REG_MOSAIC = ((sprite->data[1] << 4) | sprite->data[1]) << 8;
- }
- break;
- case 1:
- sprite->data[1] -= (sprite->data[2] >> 8);
- if (sprite->data[1] < 0)
- {
- sprite->data[1] = 0;
- }
+ case 0:
+ sprite->invisible = TRUE;
+ if (++sprite->data[1] > 0x20)
+ {
+ sprite->data[0]++;
+ sprite->data[1] = 5;
+ sprite->oam.mosaic = TRUE;
+ sprite->invisible = FALSE;
+ StartSpriteAnim(sprite, 1);
REG_MOSAIC = ((sprite->data[1] << 4) | sprite->data[1]) << 8;
- sprite->data[2] &= 0xff;
- sprite->data[2] += 0x80;
- if (sprite->data[1] == 0)
- {
- sprite->data[0]++;
- sprite->data[7] = 0;
- sprite->oam.mosaic = FALSE;
- StartSpriteAnim(sprite, 0);
- }
- break;
+ }
+ break;
+ case 1:
+ sprite->data[1] -= (sprite->data[2] >> 8);
+ if (sprite->data[1] < 0)
+ sprite->data[1] = 0;
+ REG_MOSAIC = ((sprite->data[1] << 4) | sprite->data[1]) << 8;
+ sprite->data[2] &= 0xff;
+ sprite->data[2] += 0x80;
+ if (sprite->data[1] == 0)
+ {
+ sprite->data[0]++;
+ sprite->data[7] = 0;
+ sprite->oam.mosaic = FALSE;
+ StartSpriteAnim(sprite, 0);
+ }
+ break;
}
}
@@ -4102,40 +3822,30 @@ static void sub_81060FC(struct Sprite *sprite)
switch (sprite->data[0])
{
- case 0:
- sprite->pos2.x = sp00[sprite->data[6]];
- sprite->pos2.y = sp10[sprite->data[6]];
- sprite->data[1] = sp20[sprite->data[6]];
+ case 0:
+ sprite->pos2.x = sp00[sprite->data[6]];
+ sprite->pos2.y = sp10[sprite->data[6]];
+ sprite->data[1] = sp20[sprite->data[6]];
+ sprite->data[0]++;
+ // fallthrough
+ case 1:
+ if (sprite->data[1]-- == 0)
sprite->data[0]++;
- // fallthrough
- case 1:
- if (sprite->data[1]-- == 0)
- {
- sprite->data[0]++;
- }
- break;
- case 2:
- if (sprite->pos2.x > 0)
- {
- sprite->pos2.x -= 4;
- }
- else if (sprite->pos2.x < 0)
- {
- sprite->pos2.x += 4;
- }
- if (sprite->pos2.y > 0)
- {
- sprite->pos2.y -= 4;
- }
- else if (sprite->pos2.y < 0)
- {
- sprite->pos2.y += 4;
- }
- if (sprite->pos2.x == 0 && sprite->pos2.y == 0)
- {
- sprite->data[0]++;
- }
- break;
+ break;
+ case 2:
+ if (sprite->pos2.x > 0)
+ sprite->pos2.x -= 4;
+ else if (sprite->pos2.x < 0)
+ sprite->pos2.x += 4;
+
+ if (sprite->pos2.y > 0)
+ sprite->pos2.y -= 4;
+ else if (sprite->pos2.y < 0)
+ sprite->pos2.y += 4;
+
+ if (sprite->pos2.x == 0 && sprite->pos2.y == 0)
+ sprite->data[0]++;
+ break;
}
}
@@ -4150,10 +3860,8 @@ static void sub_81061C8(struct Sprite *sprite)
}
sprite->pos2.x = Cos(sp0[sprite->data[6]], sprite->data[1]);
sprite->pos2.y = Sin(sp0[sprite->data[6]], sprite->data[1]);
- if (sprite->data[1])
- {
+ if (sprite->data[1] != 0)
sprite->data[1]--;
- }
}
static void sub_8106230(struct Sprite *sprite)
@@ -4172,13 +3880,9 @@ static void sub_8106230(struct Sprite *sprite)
sprite->data[2] = sprite->data[1] + 0xb0;
sprite->data[3] = 0xf0 - sprite->data[1];
if (sprite->data[2] > 0xd0)
- {
sprite->data[2] = 0xd0;
- }
if (sprite->data[3] < 0xd0)
- {
sprite->data[3] = 0xd0;
- }
eSlotMachine->win0h = (sprite->data[2] << 8) | sprite->data[3];
if (sprite->data[1] > 0x33)
{
@@ -4188,9 +3892,7 @@ static void sub_8106230(struct Sprite *sprite)
break;
case 2:
if (eSlotMachine->bet == 0)
- {
break;
- }
sub_8104D30(5, SpriteCallbackDummy, 0xd0, 0x74, 0);
eSlotMachine->win0h = 0xc0e0;
eSlotMachine->win0v = 0x6880;
@@ -4203,13 +3905,9 @@ static void sub_8106230(struct Sprite *sprite)
sprite->data[2] = sprite->data[1] + 0xc0;
sprite->data[3] = 0xe0 - sprite->data[1];
if (sprite->data[2] > 0xd0)
- {
sprite->data[2] = 0xd0;
- }
if (sprite->data[3] < 0xd0)
- {
sprite->data[3] = 0xd0;
- }
eSlotMachine->win0h = (sprite->data[2] << 8) | sprite->data[3];
if (sprite->data[1] > 0x0f)
{
@@ -4222,7 +3920,6 @@ static void sub_8106230(struct Sprite *sprite)
static void nullsub_70(void)
{
-
}
static void sub_8106364(void)
@@ -4271,14 +3968,13 @@ static void sub_8106404(void)
{
u8 j;
for (j = 0; j < 0x20; j++, dest++)
- {
*dest = src[j];
- }
}
LoadSpriteSheet(sheet);
}
-static void sub_8106448(void) {
+static void sub_8106448(void)
+{
LZDecompressWram(gSlotMachine_Gfx, eSlotMachineGfxBuffer);
DmaCopyLarge16(3, eSlotMachineGfxBuffer, BG_VRAM, SLOTMACHINE_GFX_TILES * 32, 0x1000);
@@ -4287,12 +3983,14 @@ static void sub_8106448(void) {
LoadPalette(gPalette_83EDE24, 208, 32);
}
-static void sub_81064B8(void) {
+static void sub_81064B8(void)
+{
CpuCopy16(gUnknown_08E95AB8, BG_SCREEN_ADDR(29), 20 * 32 * 2);
LoadSlotMachineWheelOverlay();
}
-static void LoadSlotMachineWheelOverlay(void) {
+static void LoadSlotMachineWheelOverlay(void)
+{
s16 x, y, dx;
u16 *screen;
@@ -4312,13 +4010,12 @@ static void LoadSlotMachineWheelOverlay(void) {
screen[12 * 32 + x] = 0x28BE;
for (y = 7; y <= 11; y++)
- {
screen[y * 32 + x] = 0x20BF;
- }
}
}
-static void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) {
+static void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4)
+{
u16 *vram = BG_SCREEN_ADDR(29);
vram[15 * 32 + arg0] = arg1;
@@ -4338,1228 +4035,391 @@ static void sub_81065DC(void)
for (y = 0; y < 20; y++)
{
for (x = 0; x < 30; x++)
- {
screen[x + y * 32] = 0;
- }
}
}
+struct UnknownMenuAction
+{
+ const u8 *text;
+ void (*func)();
+};
+
#if DEBUG
-__attribute__((naked))
-void debug_sub_811B1C4()
-{
- asm(
- " ldr r1, .__1_\n"
- " ldrb r0, [r1]\n"
- " mov r3, #0x2\n"
- " orr r0, r0, r3\n"
- " strb r0, [r1]\n"
- " ldr r2, .__1_ + 4\n"
- " ldrb r1, [r2]\n"
- " mov r0, #0x2\n"
- " eor r1, r1, r0\n"
- " neg r0, r1\n"
- " orr r0, r0, r1\n"
- " asr r0, r0, #0x1f\n"
- " and r0, r0, r3\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__2_:\n"
- " .align 2, 0\n"
- ".__1_:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B1EC()
-{
- asm(
- " ldr r2, .__3\n"
- " ldrb r0, [r2]\n"
- " mov r1, #0x1\n"
- " orr r0, r0, r1\n"
- " strb r0, [r2]\n"
- " ldr r2, .__3 + 4\n"
- " ldrb r0, [r2]\n"
- " mov r1, #0x1\n"
- " eor r0, r0, r1\n"
- " neg r0, r0\n"
- " lsr r0, r0, #0x1f\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__4:\n"
- " .align 2, 0\n"
- ".__3:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B210()
-{
- asm(
- " ldr r1, .__5\n"
- " ldrb r0, [r1]\n"
- " mov r3, #0x4\n"
- " orr r0, r0, r3\n"
- " strb r0, [r1]\n"
- " ldr r2, .__5 + 4\n"
- " ldrb r1, [r2]\n"
- " mov r0, #0x4\n"
- " eor r1, r1, r0\n"
- " neg r0, r1\n"
- " orr r0, r0, r1\n"
- " asr r0, r0, #0x1f\n"
- " and r0, r0, r3\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__6:\n"
- " .align 2, 0\n"
- ".__5:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B238()
-{
- asm(
- " ldr r1, .__7\n"
- " ldrb r0, [r1]\n"
- " mov r3, #0x8\n"
- " orr r0, r0, r3\n"
- " strb r0, [r1]\n"
- " ldr r2, .__7 + 4\n"
- " ldrb r1, [r2]\n"
- " mov r0, #0x8\n"
- " eor r1, r1, r0\n"
- " neg r0, r1\n"
- " orr r0, r0, r1\n"
- " asr r0, r0, #0x1f\n"
- " and r0, r0, r3\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__8:\n"
- " .align 2, 0\n"
- ".__7:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B260()
-{
- asm(
- " ldr r1, .__9\n"
- " ldrb r0, [r1]\n"
- " mov r3, #0x10\n"
- " orr r0, r0, r3\n"
- " strb r0, [r1]\n"
- " ldr r2, .__9 + 4\n"
- " ldrb r1, [r2]\n"
- " mov r0, #0x10\n"
- " eor r1, r1, r0\n"
- " neg r0, r1\n"
- " orr r0, r0, r1\n"
- " asr r0, r0, #0x1f\n"
- " and r0, r0, r3\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__10:\n"
- " .align 2, 0\n"
- ".__9:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B288()
-{
- asm(
- " ldr r1, .__11\n"
- " ldrb r0, [r1]\n"
- " mov r3, #0x40\n"
- " orr r0, r0, r3\n"
- " strb r0, [r1]\n"
- " ldr r2, .__11 + 4\n"
- " ldrb r1, [r2]\n"
- " mov r0, #0x40\n"
- " eor r1, r1, r0\n"
- " neg r0, r1\n"
- " orr r0, r0, r1\n"
- " asr r0, r0, #0x1f\n"
- " and r0, r0, r3\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__12:\n"
- " .align 2, 0\n"
- ".__11:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B2B0()
-{
- asm(
- " ldr r1, .__13\n"
- " ldrb r0, [r1]\n"
- " mov r3, #0x80\n"
- " orr r0, r0, r3\n"
- " strb r0, [r1]\n"
- " ldr r2, .__13 + 4\n"
- " ldrb r1, [r2]\n"
- " mov r0, #0x80\n"
- " eor r1, r1, r0\n"
- " neg r0, r1\n"
- " orr r0, r0, r1\n"
- " asr r0, r0, #0x1f\n"
- " and r0, r0, r3\n"
- " strb r0, [r2]\n"
- " bx lr\n"
- ".__14:\n"
- " .align 2, 0\n"
- ".__13:\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B2D8()
-{
- asm(
- " ldr r0, .__15\n"
- " ldrb r1, [r0]\n"
- " mov r2, #0x20\n"
- " orr r1, r1, r2\n"
- " strb r1, [r0]\n"
- " bx lr\n"
- ".__16:\n"
- " .align 2, 0\n"
- ".__15:\n"
- " .word unk_debug_bss_1_3\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B2E8()
-{
- asm(
- " push {lr}\n"
- " add sp, sp, #0xfffffffc\n"
- " ldr r0, .__17\n"
- " ldrb r1, [r0, #0x1]\n"
- " add r1, r1, #0x1\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x1\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x6\n"
- " mov r2, #0x1\n"
- " bl Menu_PrintText\n"
- " add sp, sp, #0x4\n"
- " pop {r0}\n"
- " bx r0\n"
- ".__18:\n"
- " .align 2, 0\n"
- ".__17:\n"
- " .word +0x2000000\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B310()
-{
- asm(
- " push {r4, lr}\n"
- " add sp, sp, #0xfffffff8\n"
- " ldr r0, .__21\n"
- " mov r1, #0x1\n"
- " mov r2, #0x1\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 4\n"
- " mov r1, #0x1\n"
- " mov r2, #0x3\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 8\n"
- " mov r1, #0x1\n"
- " mov r2, #0x5\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 12\n"
- " mov r1, #0x1\n"
- " mov r2, #0x7\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 16\n"
- " mov r1, #0x1\n"
- " mov r2, #0x9\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 20\n"
- " mov r1, #0x1\n"
- " mov r2, #0xb\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 24\n"
- " mov r1, #0x1\n"
- " mov r2, #0xd\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 28\n"
- " mov r1, #0x1\n"
- " mov r2, #0xf\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 32\n"
- " mov r1, #0x1\n"
- " mov r2, #0x11\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 36\n"
- " mov r1, #0xf\n"
- " mov r2, #0x1\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 40\n"
- " mov r1, #0xf\n"
- " mov r2, #0x3\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 44\n"
- " mov r1, #0xf\n"
- " mov r2, #0x5\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 48\n"
- " mov r1, #0xf\n"
- " mov r2, #0x7\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 52\n"
- " mov r1, #0xf\n"
- " mov r2, #0x9\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 56\n"
- " mov r1, #0xf\n"
- " mov r2, #0xb\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 60\n"
- " mov r1, #0xf\n"
- " mov r2, #0xd\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 64\n"
- " mov r1, #0xf\n"
- " mov r2, #0xf\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 68\n"
- " mov r1, #0xf\n"
- " mov r2, #0x11\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__21 + 72\n"
- " ldrb r0, [r0, #0x3]\n"
- " cmp r0, #0\n"
- " bne .__19 @cond_branch\n"
- " ldr r0, .__21 + 76\n"
- " mov r1, #0xa\n"
- " mov r2, #0x9\n"
- " bl Menu_PrintText\n"
- " b .__20\n"
- ".__22:\n"
- " .align 2, 0\n"
- ".__21:\n"
- " .word Str_841B1C4\n"
- " .word Str_841B1CB\n"
- " .word Str_841B1D4\n"
- " .word Str_841B1DB\n"
- " .word Str_841B1E2\n"
- " .word Str_841B1E8\n"
- " .word Str_841B1F3\n"
- " .word Str_841B202\n"
- " .word Str_841B24C\n"
- " .word Str_841B211\n"
- " .word Str_841B219\n"
- " .word Str_841B220\n"
- " .word Str_841B227\n"
- " .word Str_841B22E\n"
- " .word Str_841B235\n"
- " .word Str_841B23B\n"
- " .word Str_841B23F\n"
- " .word Str_841B243\n"
- " .word +0x2000000\n"
- " .word Str_841B246\n"
- ".__19:\n"
- " ldr r0, .__30\n"
- " mov r1, #0xa\n"
- " mov r2, #0x9\n"
- " bl Menu_PrintText\n"
- ".__20:\n"
- " ldr r4, .__30 + 4\n"
- " ldr r1, [r4, #0x68]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0xa\n"
- " mov r2, #0x3\n"
- " bl Menu_PrintText\n"
- " ldr r1, [r4, #0x6c]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0xa\n"
- " mov r2, #0x5\n"
- " bl Menu_PrintText\n"
- " mov r0, #0x10\n"
- " ldsh r1, [r4, r0]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0xa\n"
- " mov r2, #0x7\n"
- " bl Menu_PrintText\n"
- " ldr r1, [r4, #0x70]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0x3\n"
- " bl Menu_PrintText\n"
- " ldr r1, [r4, #0x74]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0x5\n"
- " bl Menu_PrintText\n"
- " ldr r1, [r4, #0x78]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0x7\n"
- " bl Menu_PrintText\n"
- " ldr r1, [r4, #0x7c]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0x9\n"
- " bl Menu_PrintText\n"
- " add r0, r4, #0\n"
- " add r0, r0, #0x80\n"
- " ldr r1, [r0]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0xb\n"
- " bl Menu_PrintText\n"
- " add r0, r4, #0\n"
- " add r0, r0, #0x84\n"
- " ldr r1, [r0]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0xd\n"
- " bl Menu_PrintText\n"
- " add r0, r4, #0\n"
- " add r0, r0, #0x88\n"
- " ldr r1, [r0]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0xf\n"
- " bl Menu_PrintText\n"
- " add r0, r4, #0\n"
- " add r0, r0, #0x8c\n"
- " ldr r1, [r0]\n"
- " mov r0, sp\n"
- " mov r2, #0x2\n"
- " mov r3, #0x4\n"
- " bl ConvertIntToDecimalStringN\n"
- " mov r0, sp\n"
- " mov r1, #0x14\n"
- " mov r2, #0x11\n"
- " bl Menu_PrintText\n"
- " ldr r1, .__30 + 8\n"
- " ldrb r0, [r1]\n"
- " cmp r0, #0\n"
- " beq .__23 @cond_branch\n"
- " mov r2, #0x0\n"
- " cmp r0, #0x8\n"
- " beq .__24 @cond_branch\n"
- " cmp r0, #0x8\n"
- " bgt .__25 @cond_branch\n"
- " cmp r0, #0x2\n"
- " beq .__26 @cond_branch\n"
- " cmp r0, #0x2\n"
- " bgt .__27 @cond_branch\n"
- " cmp r0, #0x1\n"
- " beq .__28 @cond_branch\n"
- " b .__45\n"
- ".__31:\n"
- " .align 2, 0\n"
- ".__30:\n"
- " .word Str_841B249\n"
- " .word +0x2000000\n"
- " .word unk_debug_bss_1_0\n"
- ".__27:\n"
- " cmp r0, #0x4\n"
- " beq .__32 @cond_branch\n"
- " b .__45\n"
- ".__25:\n"
- " cmp r0, #0x40\n"
- " beq .__34 @cond_branch\n"
- " cmp r0, #0x40\n"
- " bgt .__35 @cond_branch\n"
- " cmp r0, #0x10\n"
- " beq .__36 @cond_branch\n"
- " b .__45\n"
- ".__35:\n"
- " cmp r0, #0x80\n"
- " beq .__38 @cond_branch\n"
- " b .__45\n"
- ".__26:\n"
- " mov r2, #0x3\n"
- " b .__45\n"
- ".__28:\n"
- " mov r2, #0x5\n"
- " b .__45\n"
- ".__32:\n"
- " mov r2, #0x7\n"
- " b .__45\n"
- ".__24:\n"
- " mov r2, #0x9\n"
- " b .__45\n"
- ".__36:\n"
- " mov r2, #0xb\n"
- " b .__45\n"
- ".__34:\n"
- " mov r2, #0xd\n"
- " b .__45\n"
- ".__38:\n"
- " mov r2, #0xf\n"
- ".__45:\n"
- " ldr r0, .__46\n"
- " mov r1, #0x17\n"
- " bl Menu_PrintText\n"
- ".__23:\n"
- " bl debug_sub_811B2E8\n"
- " add sp, sp, #0x8\n"
- " pop {r4}\n"
- " pop {r0}\n"
- " bx r0\n"
- ".__47:\n"
- " .align 2, 0\n"
- ".__46:\n"
- " .word Str_841B26D\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-static void debug_sub_811B5B4()
-{
- asm(
- " push {lr}\n"
- " add r2, r0, #0\n"
- " ldr r0, [r2]\n"
- " add r0, r0, r1\n"
- " str r0, [r2]\n"
- " ldr r1, .__49\n"
- " cmp r0, r1\n"
- " ble .__48 @cond_branch\n"
- " str r1, [r2]\n"
- ".__48:\n"
- " pop {r0}\n"
- " bx r0\n"
- ".__50:\n"
- " .align 2, 0\n"
- ".__49:\n"
- " .word 0x270f\n"
- "\n"
- );
-}
-
-__attribute__((naked))
+
+void debug_sub_811B1C4(void)
+{
+ unk_debug_bss_1_3 |= 2;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 2) ? 0 : 2;
+}
+
+void debug_sub_811B1EC(void)
+{
+ unk_debug_bss_1_3 |= 1;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 1) ? 0 : 1;
+}
+
+void debug_sub_811B210(void)
+{
+ unk_debug_bss_1_3 |= 4;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 4) ? 0 : 4;
+}
+
+void debug_sub_811B238(void)
+{
+ unk_debug_bss_1_3 |= 8;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 8) ? 0 : 8;
+}
+
+void debug_sub_811B260(void)
+{
+ unk_debug_bss_1_3 |= 0x10;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 0x10) ? 0 : 0x10;
+}
+
+void debug_sub_811B288(void)
+{
+ unk_debug_bss_1_3 |= 0x40;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 0x40) ? 0 : 0x40;
+}
+
+void debug_sub_811B2B0(void)
+{
+ unk_debug_bss_1_3 |= 0x80;
+ unk_debug_bss_1_0 = (unk_debug_bss_1_0 == 0x80) ? 0 : 0x80;
+}
+
+void debug_sub_811B2D8(void)
+{
+ unk_debug_bss_1_3 |= 0x20;
+}
+
+void debug_sub_811B2E8(void)
+{
+ u8 text[2];
+
+ ConvertIntToDecimalStringN(text, eSlotMachine->unk01 + 1, 2, 1);
+ Menu_PrintText(text, 6, 1);
+}
+
+static const u8 Str_841B1C4[];
+static const u8 Str_841B1CB[];
+static const u8 Str_841B1D4[];
+static const u8 Str_841B1DB[];
+static const u8 Str_841B1E2[];
+static const u8 Str_841B1E8[];
+static const u8 Str_841B1F3[];
+static const u8 Str_841B202[];
+static const u8 Str_841B211[];
+static const u8 Str_841B219[];
+static const u8 Str_841B220[];
+static const u8 Str_841B227[];
+static const u8 Str_841B22E[];
+static const u8 Str_841B235[];
+static const u8 Str_841B23B[];
+static const u8 Str_841B23F[];
+static const u8 Str_841B243[];
+static const u8 Str_841B246[];
+static const u8 Str_841B249[];
+static const u8 Str_841B24C[];
+static const u8 Str_841B254[];
+static const u8 Str_841B25C[];
+static const u8 Str_841B264[];
+static const u8 Str_841B26D[];
+
+void debug_sub_811B310(void)
+{
+ u8 text[5];
+
+ Menu_PrintText(Str_841B1C4, 1, 1);
+ Menu_PrintText(Str_841B1CB, 1, 3);
+ Menu_PrintText(Str_841B1D4, 1, 5);
+ Menu_PrintText(Str_841B1DB, 1, 7);
+ Menu_PrintText(Str_841B1E2, 1, 9);
+ Menu_PrintText(Str_841B1E8, 1, 11);
+ Menu_PrintText(Str_841B1F3, 1, 13);
+ Menu_PrintText(Str_841B202, 1, 15);
+ Menu_PrintText(Str_841B24C, 1, 17);
+ Menu_PrintText(Str_841B211, 15, 1);
+ Menu_PrintText(Str_841B219, 15, 3);
+ Menu_PrintText(Str_841B220, 15, 5);
+ Menu_PrintText(Str_841B227, 15, 7);
+ Menu_PrintText(Str_841B22E, 15, 9);
+ Menu_PrintText(Str_841B235, 15, 11);
+ Menu_PrintText(Str_841B23B, 15, 13);
+ Menu_PrintText(Str_841B23F, 15, 15);
+ Menu_PrintText(Str_841B243, 15, 17);
+ if (eSlotMachine->unk03 == 0)
+ Menu_PrintText(Str_841B246, 10, 9);
+ else
+ Menu_PrintText(Str_841B249, 10, 9);
+
+#define PRINT_NUMBER(n, x, y) \
+ ConvertIntToDecimalStringN(text, n, 2, 4); \
+ Menu_PrintText(text, x, y);
+
+ PRINT_NUMBER(eSlotMachine->unk68, 10, 3);
+ PRINT_NUMBER(eSlotMachine->unk6C, 10, 5);
+ PRINT_NUMBER(eSlotMachine->unk10, 10, 7);
+ PRINT_NUMBER(eSlotMachine->unk70, 20, 3);
+ PRINT_NUMBER(eSlotMachine->unk74, 20, 5);
+ PRINT_NUMBER(eSlotMachine->unk78, 20, 7);
+ PRINT_NUMBER(eSlotMachine->unk7C, 20, 9);
+ PRINT_NUMBER(eSlotMachine->unk80, 20, 11);
+ PRINT_NUMBER(eSlotMachine->unk84, 20, 13);
+ PRINT_NUMBER(eSlotMachine->unk88, 20, 15);
+ PRINT_NUMBER(eSlotMachine->unk8C, 20, 17);
+
+#undef PRINT_NUMBER
+
+ if (unk_debug_bss_1_0 != 0)
+ {
+ u8 y = 0;
+
+ switch (unk_debug_bss_1_0)
+ {
+ case 2:
+ y = 3;
+ break;
+ case 1:
+ y = 5;
+ break;
+ case 4:
+ y = 7;
+ break;
+ case 8:
+ y = 9;
+ break;
+ case 16:
+ y = 11;
+ break;
+ case 64:
+ y = 13;
+ break;
+ case 128:
+ y = 15;
+ break;
+ }
+ Menu_PrintText(Str_841B26D, 23, y);
+ }
+ debug_sub_811B2E8();
+}
+
+static void debug_sub_811B5B4(s32 *a, s32 b)
+{
+ *a += b;
+ if (*a > 9999)
+ *a = 9999;
+}
+
static void debug_sub_811B5D0(void)
{
- asm(
- " ldr r0, .__51\n"
- " mov r1, #0x0\n"
- " strb r1, [r0]\n"
- " ldr r0, .__51 + 4\n"
- " strb r1, [r0]\n"
- " ldr r0, .__51 + 8\n"
- " strb r1, [r0]\n"
- " ldr r0, .__51 + 12\n"
- " strb r1, [r0]\n"
- " ldr r2, .__51 + 16\n"
- " mov r0, #0x0\n"
- " str r0, [r2, #0x68]\n"
- " str r0, [r2, #0x6c]\n"
- " str r0, [r2, #0x70]\n"
- " str r0, [r2, #0x74]\n"
- " str r0, [r2, #0x78]\n"
- " str r0, [r2, #0x7c]\n"
- " add r1, r2, #0\n"
- " add r1, r1, #0x80\n"
- " str r0, [r1]\n"
- " add r1, r1, #0x4\n"
- " str r0, [r1]\n"
- " add r1, r1, #0x4\n"
- " str r0, [r1]\n"
- " add r1, r1, #0x4\n"
- " str r0, [r1]\n"
- " add r1, r1, #0x4\n"
- " str r0, [r1]\n"
- " bx lr\n"
- ".__52:\n"
- " .align 2, 0\n"
- ".__51:\n"
- " .word unk_debug_bss_1_0\n"
- " .word unk_debug_bss_1_2\n"
- " .word unk_debug_bss_1_3\n"
- " .word unk_debug_bss_1_4\n"
- " .word +0x2000000\n"
- "\n"
- );
-}
-
-__attribute__((naked))
+ unk_debug_bss_1_0 = 0;
+ unk_debug_bss_1_2 = 0;
+ unk_debug_bss_1_3 = 0;
+ unk_debug_bss_1_4 = 0;
+ eSlotMachine->unk68 = 0;
+ eSlotMachine->unk6C = 0;
+ eSlotMachine->unk70 = 0;
+ eSlotMachine->unk74 = 0;
+ eSlotMachine->unk78 = 0;
+ eSlotMachine->unk7C = 0;
+ eSlotMachine->unk80 = 0;
+ eSlotMachine->unk84 = 0;
+ eSlotMachine->unk88 = 0;
+ eSlotMachine->unk8C = 0;
+ eSlotMachine->unk90 = 0;
+}
+
static void debug_sub_811B620(void)
{
- asm(
- " push {lr}\n"
- " ldr r0, .__53\n"
- " mov r1, #0x0\n"
- " bl CreateTask\n"
- " pop {r0}\n"
- " bx r0\n"
- ".__54:\n"
- " .align 2, 0\n"
- ".__53:\n"
- " .word debug_sub_811B654+1\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-static u8 debug_sub_811B634()
-{
- asm(
- " push {lr}\n"
- " ldr r0, .__57\n"
- " bl FindTaskIdByFunc\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " cmp r0, #0xff\n"
- " beq .__55 @cond_branch\n"
- " mov r0, #0x0\n"
- " b .__56\n"
- ".__58:\n"
- " .align 2, 0\n"
- ".__57:\n"
- " .word debug_sub_811B654+1\n"
- ".__55:\n"
- " mov r0, #0x1\n"
- ".__56:\n"
- " pop {r1}\n"
- " bx r1\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-void debug_sub_811B654()
-{
- asm(
- " push {r4, r5, r6, r7, lr}\n"
- " add sp, sp, #0xfffffff8\n"
- " lsl r0, r0, #0x18\n"
- " lsr r6, r0, #0x18\n"
- " lsl r0, r6, #0x2\n"
- " add r0, r0, r6\n"
- " lsl r0, r0, #0x3\n"
- " ldr r1, .__63\n"
- " add r5, r0, r1\n"
- " mov r0, #0x8\n"
- " ldsh r1, [r5, r0]\n"
- " cmp r1, #0x1\n"
- " beq .__59 @cond_branch\n"
- " cmp r1, #0x1\n"
- " bgt .__60 @cond_branch\n"
- " cmp r1, #0\n"
- " beq .__61 @cond_branch\n"
- " b .__116\n"
- ".__64:\n"
- " .align 2, 0\n"
- ".__63:\n"
- " .word gTasks\n"
- ".__60:\n"
- " cmp r1, #0x2\n"
- " bne .__65 @cond_branch\n"
- " b .__66\n"
- ".__65:\n"
- " cmp r1, #0x3\n"
- " bne .__67 @cond_branch\n"
- " b .__68\n"
- ".__67:\n"
- " b .__116\n"
- ".__61:\n"
- " mov r0, #0x0\n"
- " mov r1, #0x0\n"
- " mov r2, #0x18\n"
- " mov r3, #0x13\n"
- " bl Menu_DrawStdWindowFrame\n"
- " bl debug_sub_811B310\n"
- " ldrh r0, [r5, #0x8]\n"
- " add r0, r0, #0x1\n"
- " strh r0, [r5, #0x8]\n"
- " b .__116\n"
- ".__59:\n"
- " ldr r7, .__76\n"
- " ldrh r2, [r7, #0x2e]\n"
- " mov r0, #0x2\n"
- " and r0, r0, r2\n"
- " cmp r0, #0\n"
- " beq .__71 @cond_branch\n"
- " b .__94\n"
- ".__71:\n"
- " mov r0, #0x20\n"
- " and r0, r0, r2\n"
- " lsl r0, r0, #0x10\n"
- " lsr r3, r0, #0x10\n"
- " cmp r3, #0\n"
- " beq .__73 @cond_branch\n"
- " ldr r1, .__76 + 4\n"
- " ldrb r0, [r1, #0x1]\n"
- " sub r0, r0, #0x1\n"
- " strb r0, [r1, #0x1]\n"
- " lsl r0, r0, #0x18\n"
- " cmp r0, #0\n"
- " bge .__79 @cond_branch\n"
- " mov r0, #0x5\n"
- " strb r0, [r1, #0x1]\n"
- " b .__79\n"
- ".__77:\n"
- " .align 2, 0\n"
- ".__76:\n"
- " .word gMain\n"
- " .word +0x2000000\n"
- ".__73:\n"
- " mov r0, #0x10\n"
- " and r0, r0, r2\n"
- " cmp r0, #0\n"
- " beq .__78 @cond_branch\n"
- " ldr r1, .__81\n"
- " ldrb r0, [r1, #0x1]\n"
- " add r0, r0, #0x1\n"
- " strb r0, [r1, #0x1]\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " cmp r0, #0x5\n"
- " bls .__79 @cond_branch\n"
- " strb r3, [r1, #0x1]\n"
- ".__79:\n"
- " bl debug_sub_811B2E8\n"
- " b .__116\n"
- ".__82:\n"
- " .align 2, 0\n"
- ".__81:\n"
- " .word +0x2000000\n"
- ".__78:\n"
- " and r1, r1, r2\n"
- " lsl r0, r1, #0x10\n"
- " lsr r4, r0, #0x10\n"
- " cmp r4, #0\n"
- " beq .__83 @cond_branch\n"
- " mov r0, #0x3\n"
- " strh r0, [r5, #0x8]\n"
- " bl Menu_EraseScreen\n"
- " mov r0, #0x0\n"
- " mov r1, #0x0\n"
- " mov r2, #0x9\n"
- " mov r3, #0x5\n"
- " bl Menu_DrawStdWindowFrame\n"
- " ldr r0, .__85\n"
- " mov r1, #0x1\n"
- " mov r2, #0x1\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__85 + 4\n"
- " mov r1, #0x1\n"
- " mov r2, #0x3\n"
- " bl Menu_PrintText\n"
- " b .__116\n"
- ".__86:\n"
- " .align 2, 0\n"
- ".__85:\n"
- " .word Str_841B25C\n"
- " .word Str_841B264\n"
- ".__83:\n"
- " mov r0, #0x4\n"
- " and r0, r0, r2\n"
- " cmp r0, #0\n"
- " beq .__87 @cond_branch\n"
- " ldr r0, .__91\n"
- " strb r4, [r0]\n"
- " ldr r0, .__91 + 4\n"
- " strb r4, [r0]\n"
- " bl Menu_EraseScreen\n"
- " mov r0, #0x0\n"
- " mov r1, #0x0\n"
- " mov r2, #0xa\n"
- " mov r3, #0x13\n"
- " bl Menu_DrawStdWindowFrame\n"
- " ldr r0, .__91 + 8\n"
- " mov r1, #0x1\n"
- " mov r2, #0x1\n"
- " bl Menu_PrintText\n"
- " ldr r3, .__91 + 12\n"
- " mov r0, #0x2\n"
- " mov r1, #0x3\n"
- " mov r2, #0x8\n"
- " bl Menu_PrintItems\n"
- " str r4, [sp]\n"
- " mov r0, #0x9\n"
- " str r0, [sp, #0x4]\n"
- " mov r0, #0x0\n"
- " mov r1, #0x1\n"
- " mov r2, #0x3\n"
- " mov r3, #0x8\n"
- " bl InitMenu\n"
- " ldrh r0, [r5, #0x8]\n"
- " add r0, r0, #0x1\n"
- " strh r0, [r5, #0x8]\n"
- ".__87:\n"
- " ldrh r1, [r7, #0x2e]\n"
- " mov r0, #0x8\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " bne .__88 @cond_branch\n"
- " b .__116\n"
- ".__88:\n"
- " ldr r1, .__91 + 16\n"
- " mov r0, #0x1\n"
- " strb r0, [r1]\n"
- " b .__94\n"
- ".__92:\n"
- " .align 2, 0\n"
- ".__91:\n"
- " .word unk_debug_bss_1_2\n"
- " .word unk_debug_bss_1_3\n"
- " .word Str_841B254\n"
- " .word _841B270\n"
- " .word unk_debug_bss_1_4\n"
- ".__66:\n"
- " bl Menu_ProcessInput\n"
- " lsl r0, r0, #0x18\n"
- " asr r2, r0, #0x18\n"
- " mov r0, #0x2\n"
- " neg r0, r0\n"
- " cmp r2, r0\n"
- " beq .__116 @cond_branch\n"
- " add r0, r0, #0x1\n"
- " cmp r2, r0\n"
- " beq .__94 @cond_branch\n"
- " ldr r1, .__96\n"
- " mov r0, #0x1\n"
- " strb r0, [r1]\n"
- " ldr r0, .__96 + 4\n"
- " lsl r1, r2, #0x3\n"
- " add r0, r0, #0x4\n"
- " add r1, r1, r0\n"
- " ldr r0, [r1]\n"
- " bl _call_via_r0\n"
- ".__94:\n"
- " bl Menu_EraseScreen\n"
- " add r0, r6, #0\n"
- " bl DestroyTask\n"
- " b .__116\n"
- ".__97:\n"
- " .align 2, 0\n"
- ".__96:\n"
- " .word unk_debug_bss_1_2\n"
- " .word _841B270\n"
- ".__68:\n"
- " ldr r2, .__100\n"
- " ldrh r1, [r2, #0x30]\n"
- " mov r0, #0x80\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__98 @cond_branch\n"
- " ldr r2, .__100 + 4\n"
- " ldrh r0, [r2, #0xc]\n"
- " add r0, r0, #0x64\n"
- " b .__99\n"
- ".__101:\n"
- " .align 2, 0\n"
- ".__100:\n"
- " .word gMain\n"
- " .word +0x2000000\n"
- ".__98:\n"
- " mov r0, #0x40\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__102 @cond_branch\n"
- " ldr r1, .__104\n"
- " ldrh r0, [r1, #0xc]\n"
- " sub r0, r0, #0x64\n"
- " b .__103\n"
- ".__105:\n"
- " .align 2, 0\n"
- ".__104:\n"
- " .word +0x2000000\n"
- ".__102:\n"
- " mov r0, #0x20\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__106 @cond_branch\n"
- " ldr r1, .__109\n"
- " ldr r2, .__109 + 4\n"
- " add r0, r2, #0\n"
- " ldrh r2, [r1, #0xc]\n"
- " add r0, r0, r2\n"
- ".__103:\n"
- " strh r0, [r1, #0xc]\n"
- " lsl r0, r0, #0x10\n"
- " cmp r0, #0\n"
- " bgt .__116 @cond_branch\n"
- " ldr r0, .__109 + 8\n"
- " strh r0, [r1, #0xc]\n"
- " b .__116\n"
- ".__110:\n"
- " .align 2, 0\n"
- ".__109:\n"
- " .word +0x2000000\n"
- " .word 0xfffffc18\n"
- " .word 0x270f\n"
- ".__106:\n"
- " mov r0, #0x10\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__111 @cond_branch\n"
- " ldr r2, .__114\n"
- " mov r1, #0xfa\n"
- " lsl r1, r1, #0x2\n"
- " add r0, r1, #0\n"
- " ldrh r1, [r2, #0xc]\n"
- " add r0, r0, r1\n"
- ".__99:\n"
- " strh r0, [r2, #0xc]\n"
- " lsl r0, r0, #0x10\n"
- " asr r0, r0, #0x10\n"
- " ldr r1, .__114 + 4\n"
- " cmp r0, r1\n"
- " ble .__116 @cond_branch\n"
- " strh r1, [r2, #0xc]\n"
- " b .__116\n"
- ".__115:\n"
- " .align 2, 0\n"
- ".__114:\n"
- " .word +0x2000000\n"
- " .word 0x270f\n"
- ".__111:\n"
- " ldrh r1, [r2, #0x2e]\n"
- " mov r0, #0x2\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__116 @cond_branch\n"
- " bl Menu_EraseScreen\n"
- " add r0, r6, #0\n"
- " bl DestroyTask\n"
- ".__116:\n"
- " add sp, sp, #0x8\n"
- " pop {r4, r5, r6, r7}\n"
- " pop {r0}\n"
- " bx r0\n"
- "\n"
- );
-}
-
-__attribute__((naked))
-static void debug_sub_811B894()
-{
- asm(
- " push {r4, r5, r6, r7, lr}\n"
- " mov r7, sl\n"
- " mov r6, r9\n"
- " mov r5, r8\n"
- " push {r5, r6, r7}\n"
- " add sp, sp, #0xfffffffc\n"
- " ldr r1, .__122\n"
- " ldrh r2, [r1, #0x8]\n"
- " mov r0, #0xc0\n"
- " lsl r0, r0, #0x1\n"
- " and r0, r0, r2\n"
- " add r4, r1, #0\n"
- " cmp r0, #0\n"
- " beq .__117 @cond_branch\n"
- " add r1, r1, #0x90\n"
- " ldr r0, [r1]\n"
- " add r0, r0, #0x1\n"
- " str r0, [r1]\n"
- " ldr r2, .__122 + 4\n"
- " cmp r0, r2\n"
- " ble .__118 @cond_branch\n"
- " str r2, [r1]\n"
- ".__118:\n"
- " add r0, r4, #0\n"
- " add r0, r0, #0x88\n"
- " ldr r1, [r1]\n"
- " ldr r0, [r0]\n"
- " cmp r1, r0\n"
- " beq .__119 @cond_branch\n"
- " ldr r0, .__122 + 8\n"
- " mov r1, #0x4\n"
- " mov r2, #0xf\n"
- " bl Menu_PrintText\n"
- " ldr r1, .__122 + 12\n"
- " mov r0, #0x0\n"
- " strb r0, [r1]\n"
- ".__119:\n"
- " ldrb r1, [r4, #0x4]\n"
- " mov r0, #0x80\n"
- " and r0, r0, r1\n"
- " lsl r0, r0, #0x18\n"
- " lsr r4, r0, #0x18\n"
- " cmp r4, #0\n"
- " bne .__126 @cond_branch\n"
- " ldr r0, .__122 + 16\n"
- " mov r1, #0x4\n"
- " mov r2, #0x11\n"
- " b .__121\n"
- ".__123:\n"
- " .align 2, 0\n"
- ".__122:\n"
- " .word +0x2000000\n"
- " .word 0x270f\n"
- " .word Str_841B2B0\n"
- " .word unk_debug_bss_1_4\n"
- " .word Str_841B2D3\n"
- ".__117:\n"
- " lsl r0, r2, #0x10\n"
- " cmp r0, #0\n"
- " beq .__127 @cond_branch\n"
- " ldrb r1, [r4, #0x4]\n"
- " mov r0, #0x80\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__126 @cond_branch\n"
- " mov r4, #0x3\n"
- " and r4, r4, r2\n"
- " cmp r4, #0\n"
- " bne .__126 @cond_branch\n"
- " ldr r0, .__163\n"
- " mov r1, #0x4\n"
- " mov r2, #0x2\n"
- ".__121:\n"
- " bl Menu_PrintText\n"
- " ldr r0, .__163 + 4\n"
- " strb r4, [r0]\n"
- ".__126:\n"
- " ldr r0, .__163 + 8\n"
- " ldrh r1, [r0, #0x8]\n"
- " add r4, r0, #0\n"
- " cmp r1, #0\n"
- " beq .__127 @cond_branch\n"
- " b .__162\n"
- ".__127:\n"
- " mov r1, #0x12\n"
- " ldsh r0, [r4, r1]\n"
- " cmp r0, #0x3\n"
- " beq .__129 @cond_branch\n"
- " b .__162\n"
- ".__129:\n"
- " ldrb r1, [r4, #0x4]\n"
- " mov r0, #0x80\n"
- " and r0, r0, r1\n"
- " cmp r0, #0\n"
- " beq .__131 @cond_branch\n"
- " b .__162\n"
- ".__131:\n"
- " mov r0, #0x0\n"
- " mov r1, #0x1\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r7, r0, #0x18\n"
- " mov r0, #0x0\n"
- " mov r1, #0x2\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " str r0, [sp]\n"
- " mov r0, #0x0\n"
- " mov r1, #0x3\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r6, r0, #0x18\n"
- " mov r0, #0x1\n"
- " mov r1, #0x1\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " mov r9, r0\n"
- " mov r0, #0x1\n"
- " mov r1, #0x2\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r4, r0, #0x18\n"
- " mov r0, #0x1\n"
- " mov r1, #0x3\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " mov sl, r0\n"
- " mov r0, #0x2\n"
- " mov r1, #0x1\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r5, r0, #0x18\n"
- " mov r0, #0x2\n"
- " mov r1, #0x2\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " mov r8, r0\n"
- " mov r0, #0x2\n"
- " mov r1, #0x3\n"
- " bl GetTagOfReelSymbolOnScreenAtPos\n"
- " lsl r0, r0, #0x18\n"
- " lsr r0, r0, #0x18\n"
- " cmp r7, #0\n"
- " bne .__134 @cond_branch\n"
- " mov r1, r9\n"
- " cmp r1, #0x1\n"
- " bne .__134 @cond_branch\n"
- " cmp r5, #0\n"
- " beq .__159 @cond_branch\n"
- ".__134:\n"
- " ldr r1, [sp]\n"
- " cmp r1, #0\n"
- " bne .__137 @cond_branch\n"
- " cmp r4, #0x1\n"
- " bne .__137 @cond_branch\n"
- " mov r1, r8\n"
- " cmp r1, #0\n"
- " beq .__159 @cond_branch\n"
- ".__137:\n"
- " cmp r6, #0\n"
- " bne .__140 @cond_branch\n"
- " mov r1, sl\n"
- " cmp r1, #0x1\n"
- " bne .__140 @cond_branch\n"
- " cmp r0, #0\n"
- " beq .__159 @cond_branch\n"
- ".__140:\n"
- " cmp r7, #0\n"
- " bne .__143 @cond_branch\n"
- " cmp r4, #0x1\n"
- " bne .__143 @cond_branch\n"
- " cmp r0, #0\n"
- " beq .__159 @cond_branch\n"
- ".__143:\n"
- " cmp r6, #0\n"
- " bne .__146 @cond_branch\n"
- " cmp r4, #0x1\n"
- " bne .__146 @cond_branch\n"
- " cmp r5, #0\n"
- " beq .__159 @cond_branch\n"
- ".__146:\n"
- " cmp r7, #0x1\n"
- " bne .__149 @cond_branch\n"
- " mov r1, r9\n"
- " cmp r1, #0\n"
- " bne .__149 @cond_branch\n"
- " cmp r5, #0x1\n"
- " beq .__159 @cond_branch\n"
- ".__149:\n"
- " ldr r1, [sp]\n"
- " cmp r1, #0x1\n"
- " bne .__152 @cond_branch\n"
- " cmp r4, #0\n"
- " bne .__152 @cond_branch\n"
- " mov r1, r8\n"
- " cmp r1, #0x1\n"
- " beq .__159 @cond_branch\n"
- ".__152:\n"
- " cmp r6, #0x1\n"
- " bne .__155 @cond_branch\n"
- " mov r1, sl\n"
- " cmp r1, #0\n"
- " bne .__155 @cond_branch\n"
- " cmp r0, #0x1\n"
- " beq .__159 @cond_branch\n"
- ".__155:\n"
- " cmp r7, #0x1\n"
- " bne .__158 @cond_branch\n"
- " cmp r4, #0\n"
- " bne .__158 @cond_branch\n"
- " cmp r0, #0x1\n"
- " beq .__159 @cond_branch\n"
- ".__158:\n"
- " cmp r6, #0x1\n"
- " bne .__162 @cond_branch\n"
- " cmp r4, #0\n"
- " bne .__162 @cond_branch\n"
- " cmp r5, #0x1\n"
- " bne .__162 @cond_branch\n"
- ".__159:\n"
- " ldr r0, .__163 + 12\n"
- " mov r1, #0x4\n"
- " mov r2, #0x0\n"
- " bl Menu_PrintText\n"
- " ldr r1, .__163 + 4\n"
- " mov r0, #0x0\n"
- " strb r0, [r1]\n"
- ".__162:\n"
- " add sp, sp, #0x4\n"
- " pop {r3, r4, r5}\n"
- " mov r8, r3\n"
- " mov r9, r4\n"
- " mov sl, r5\n"
- " pop {r4, r5, r6, r7}\n"
- " pop {r0}\n"
- " bx r0\n"
- ".__164:\n"
- " .align 2, 0\n"
- ".__163:\n"
- " .word Str_841B2E4\n"
- " .word unk_debug_bss_1_4\n"
- " .word +0x2000000\n"
- " .word Str_841B2BF\n"
- "\n"
- );
+ CreateTask(debug_sub_811B654, 0);
+}
+
+static u8 debug_sub_811B634(void)
+{
+ if (FindTaskIdByFunc(debug_sub_811B654) == 0xFF)
+ return 1;
+ else
+ return 0;
+}
+
+static const struct UnknownMenuAction _841B270[];
+
+static void debug_sub_811B654(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ s8 selection;
+
+ switch (task->data[0])
+ {
+ case 0:
+ Menu_DrawStdWindowFrame(0, 0, 24, 19);
+ debug_sub_811B310();
+ task->data[0]++;
+ break;
+ case 1:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ Menu_EraseScreen();
+ DestroyTask(taskId);
+ break;
+ }
+ if (gMain.newKeys & 0x20)
+ {
+ eSlotMachine->unk01--;
+ if ((s8)eSlotMachine->unk01 < 0) // Why? It's unsigned
+ eSlotMachine->unk01 = 5;
+ debug_sub_811B2E8();
+ break;
+ }
+ if (gMain.newKeys & 0x10)
+ {
+ eSlotMachine->unk01++;
+ if (eSlotMachine->unk01 > 5)
+ eSlotMachine->unk01 = 0;
+ debug_sub_811B2E8();
+ break;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ task->data[0] = 3;
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 9, 5);
+ Menu_PrintText(Str_841B25C, 1, 1);
+ Menu_PrintText(Str_841B264, 1, 3);
+ break;
+ }
+ if (gMain.newKeys & 4)
+ {
+ unk_debug_bss_1_2 = 0;
+ unk_debug_bss_1_3 = 0;
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 10, 19);
+ Menu_PrintText(Str_841B254, 1, 1);
+ Menu_PrintItems(2, 3, 8, (void *)_841B270);
+ InitMenu(0, 1, 3, 8, 0, 9);
+ task->data[0]++;
+ }
+ if (gMain.newKeys & 8)
+ {
+ unk_debug_bss_1_4 = 1;
+ Menu_EraseScreen();
+ DestroyTask(taskId);
+ }
+ break;
+ case 2:
+ selection = Menu_ProcessInput();
+ if (selection == -2)
+ break;
+ if (selection != -1)
+ {
+ unk_debug_bss_1_2 = 1;
+ _841B270[selection].func();
+ }
+ Menu_EraseScreen();
+ DestroyTask(taskId);
+ break;
+ case 3:
+ if (gMain.newAndRepeatedKeys & 0x80)
+ {
+ eSlotMachine->coins += 100;
+ if (eSlotMachine->coins > 9999)
+ eSlotMachine->coins = 9999;
+ break;
+ }
+ if (gMain.newAndRepeatedKeys & 0x40)
+ {
+ eSlotMachine->coins -= 100;
+ if (eSlotMachine->coins <= 0)
+ eSlotMachine->coins = 9999;
+ break;
+ }
+ if (gMain.newAndRepeatedKeys & 0x20)
+ {
+ eSlotMachine->coins -= 1000;
+ if (eSlotMachine->coins <= 0)
+ eSlotMachine->coins = 9999;
+ break;
+ }
+ if (gMain.newAndRepeatedKeys & 0x10)
+ {
+ eSlotMachine->coins += 1000;
+ if (eSlotMachine->coins > 9999)
+ eSlotMachine->coins = 9999;
+ break;
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ Menu_EraseScreen();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static const u8 Str_841B2B0[];
+static const u8 Str_841B2BF[];
+static const u8 Str_841B2D3[];
+static const u8 Str_841B2E4[];
+
+static void debug_sub_811B894(void)
+{
+ if (eSlotMachine->matchedSymbols & 0x180)
+ {
+ eSlotMachine->unk90++;
+ if (eSlotMachine->unk90 > 9999)
+ eSlotMachine->unk90 = 9999;
+ if (eSlotMachine->unk90 != eSlotMachine->unk88)
+ {
+ Menu_PrintText(Str_841B2B0, 4, 15);
+ unk_debug_bss_1_4 = 0;
+ }
+ if (!(eSlotMachine->unk04 & 0x80))
+ {
+ Menu_PrintText(Str_841B2D3, 4, 17);
+ unk_debug_bss_1_4 = 0;
+ }
+ }
+ else if (eSlotMachine->matchedSymbols != 0)
+ {
+ if ((eSlotMachine->unk04 & 0x80) && !(eSlotMachine->matchedSymbols & 3))
+ {
+ Menu_PrintText(Str_841B2E4, 4, 2);
+ unk_debug_bss_1_4 = 0;
+ }
+ }
+ if (eSlotMachine->matchedSymbols == 0 && eSlotMachine->bet == 3 && !(eSlotMachine->unk04 & 0x80))
+ {
+ u8 sym_0_1 = GetTagOfReelSymbolOnScreenAtPos(0, 1);
+ u8 sym_0_2 = GetTagOfReelSymbolOnScreenAtPos(0, 2);
+ u8 sym_0_3 = GetTagOfReelSymbolOnScreenAtPos(0, 3);
+
+ u8 sym_1_1 = GetTagOfReelSymbolOnScreenAtPos(1, 1);
+ u8 sym_1_2 = GetTagOfReelSymbolOnScreenAtPos(1, 2);
+ u8 sym_1_3 = GetTagOfReelSymbolOnScreenAtPos(1, 3);
+
+ u8 sym_2_1 = GetTagOfReelSymbolOnScreenAtPos(2, 1);
+ u8 sym_2_2 = GetTagOfReelSymbolOnScreenAtPos(2, 2);
+ u8 sym_2_3 = GetTagOfReelSymbolOnScreenAtPos(2, 3);
+
+ if ((sym_0_1 == 0 && sym_1_1 == 1 && sym_2_1 == 0)
+ || (sym_0_2 == 0 && sym_1_2 == 1 && sym_2_2 == 0)
+ || (sym_0_3 == 0 && sym_1_3 == 1 && sym_2_3 == 0)
+ || (sym_0_1 == 0 && sym_1_2 == 1 && sym_2_3 == 0)
+ || (sym_0_3 == 0 && sym_1_2 == 1 && sym_2_1 == 0)
+ || (sym_0_1 == 1 && sym_1_1 == 0 && sym_2_1 == 1)
+ || (sym_0_2 == 1 && sym_1_2 == 0 && sym_2_2 == 1)
+ || (sym_0_3 == 1 && sym_1_3 == 0 && sym_2_3 == 1)
+ || (sym_0_1 == 1 && sym_1_2 == 0 && sym_2_3 == 1)
+ || (sym_0_3 == 1 && sym_1_2 == 0 && sym_2_1 == 1))
+ {
+ Menu_PrintText(Str_841B2BF, 4, 0);
+ unk_debug_bss_1_4 = 0;
+ }
+ }
}
+
#endif
static const u8 sReelSymbols[][21] =
@@ -5586,7 +4446,8 @@ static const u8 sReelSymbols[][21] =
SLOT_MACHINE_TAG_POWER,
SLOT_MACHINE_TAG_LOTAD,
SLOT_MACHINE_TAG_REPLAY
- }, {
+ },
+ {
SLOT_MACHINE_TAG_7_RED,
SLOT_MACHINE_TAG_CHERRY,
SLOT_MACHINE_TAG_REPLAY,
@@ -5608,7 +4469,8 @@ static const u8 sReelSymbols[][21] =
SLOT_MACHINE_TAG_LOTAD,
SLOT_MACHINE_TAG_REPLAY,
SLOT_MACHINE_TAG_CHERRY
- }, {
+ },
+ {
SLOT_MACHINE_TAG_7_RED,
SLOT_MACHINE_TAG_POWER,
SLOT_MACHINE_TAG_7_BLUE,
@@ -5630,7 +4492,7 @@ static const u8 sReelSymbols[][21] =
SLOT_MACHINE_TAG_REPLAY,
SLOT_MACHINE_TAG_LOTAD,
SLOT_MACHINE_TAG_CHERRY
- }
+ },
};
static const u8 gUnknown_083ECCF1[] = {
@@ -6995,33 +5857,42 @@ static const u16 sReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/re
#if DEBUG
-const u8 Str_841B1C4[] = _("SETTEI");
-const u8 Str_841B1CB[] = _("MAWASITA");
-const u8 Str_841B1D4[] = _("MODOSI");
-const u8 Str_841B1DB[] = _("NOMARE");
-const u8 Str_841B1E2[] = _("MAE 7");
-const u8 Str_841B1E8[] = _("LR  HENKOU");
-const u8 Str_841B1F3[] = _("START  JIDOUSU");
-const u8 Str_841B202[] = _("SELECT  SETTEI");
-const u8 Str_841B211[] = _("TYUHSEN");
-const u8 Str_841B219[] = _("CHERRY");
-const u8 Str_841B220[] = _("REPLAY");
-const u8 Str_841B227[] = _("HASUBO");
-const u8 Str_841B22E[] = _("RURIRI");
-const u8 Str_841B235[] = _("INAZU");
-const u8 Str_841B23B[] = _("REG");
-const u8 Str_841B23F[] = _("BIG");
-const u8 Str_841B243[] = _("BD");
-const u8 Str_841B246[] = _("R7");
-const u8 Str_841B249[] = _("B7");
-const u8 Str_841B24C[] = _("A  COIN");
-const u8 Str_841B254[] = _("TYUHSEN");
-const u8 Str_841B25C[] = _("UD  100");
-const u8 Str_841B264[] = _("LR  1000");
-const u8 Str_841B26D[] = _("×");
+static void debug_sub_811B1C4(void);
+static void debug_sub_811B1EC(void);
+static void debug_sub_811B210(void);
+static void debug_sub_811B238(void);
+static void debug_sub_811B260(void);
+static void debug_sub_811B288(void);
+static void debug_sub_811B2B0(void);
+static void debug_sub_811B2D8(void);
+
+static const u8 Str_841B1C4[] = _("SETTEI");
+static const u8 Str_841B1CB[] = _("MAWASITA");
+static const u8 Str_841B1D4[] = _("MODOSI");
+static const u8 Str_841B1DB[] = _("NOMARE");
+static const u8 Str_841B1E2[] = _("MAE 7");
+static const u8 Str_841B1E8[] = _("LR  HENKOU");
+static const u8 Str_841B1F3[] = _("START  JIDOUSU");
+static const u8 Str_841B202[] = _("SELECT  SETTEI");
+static const u8 Str_841B211[] = _("TYUHSEN");
+static const u8 Str_841B219[] = _("CHERRY");
+static const u8 Str_841B220[] = _("REPLAY");
+static const u8 Str_841B227[] = _("HASUBO");
+static const u8 Str_841B22E[] = _("RURIRI");
+static const u8 Str_841B235[] = _("INAZU");
+static const u8 Str_841B23B[] = _("REG");
+static const u8 Str_841B23F[] = _("BIG");
+static const u8 Str_841B243[] = _("BD");
+static const u8 Str_841B246[] = _("R7");
+static const u8 Str_841B249[] = _("B7");
+static const u8 Str_841B24C[] = _("A  COIN");
+static const u8 Str_841B254[] = _("TYUHSEN");
+static const u8 Str_841B25C[] = _("UD  100");
+static const u8 Str_841B264[] = _("LR  1000");
+static const u8 Str_841B26D[] = _("×");
// Is this MenuAction2? I'm not sure.
-const struct {const u8 *text; void (*func)();} _841B270[] =
+static const struct UnknownMenuAction _841B270[] =
{
{Str_841B219, debug_sub_811B1C4},
{Str_841B220, debug_sub_811B1EC},
@@ -7033,9 +5904,9 @@ const struct {const u8 *text; void (*func)();} _841B270[] =
{Str_841B243, debug_sub_811B2D8},
};
-const u8 Str_841B2B0[] = _("·カウントエラーがおきました");
-const u8 Str_841B2BF[] = _("·リールそうさで エラーが おきました");
-const u8 Str_841B2D3[] = _("·フラグオフエラーが おきました");
-const u8 Str_841B2E4[] = _("·ボーナスこやくの エラーが おきました");
+static const u8 Str_841B2B0[] = _("·カウントエラーがおきました");
+static const u8 Str_841B2BF[] = _("·リールそうさで エラーが おきました");
+static const u8 Str_841B2D3[] = _("·フラグオフエラーが おきました");
+static const u8 Str_841B2E4[] = _("·ボーナスこやくの エラーが おきました");
#endif