mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-23 14:16:13 -05:00
slot_machine through sub_8141764
This commit is contained in:
parent
36fc72f25e
commit
c37b93e8a6
|
|
@ -5,504 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8141460
|
||||
sub_8141460: @ 8141460
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08141472
|
||||
cmp r0, 0x1
|
||||
beq _0814148A
|
||||
b _081414A0
|
||||
_08141472:
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
str r0, [sp]
|
||||
adds r0, r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _081414A0
|
||||
_0814148A:
|
||||
ldr r0, _0814149C @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _081414A0
|
||||
movs r0, 0
|
||||
b _081414A2
|
||||
.align 2, 0
|
||||
_0814149C: .4byte gPaletteFade
|
||||
_081414A0:
|
||||
movs r0, 0x1
|
||||
_081414A2:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141460
|
||||
|
||||
thumb_func_start sub_81414AC
|
||||
sub_81414AC: @ 81414AC
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _081414BC
|
||||
cmp r0, 0x1
|
||||
beq _081414D4
|
||||
b _081414E2
|
||||
_081414BC:
|
||||
movs r0, 0x2
|
||||
bl GetBgTilemapBuffer
|
||||
bl sub_8141834
|
||||
movs r0, 0x2
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _081414E2
|
||||
_081414D4:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081414E2
|
||||
movs r0, 0
|
||||
b _081414E4
|
||||
_081414E2:
|
||||
movs r0, 0x1
|
||||
_081414E4:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81414AC
|
||||
|
||||
thumb_func_start sub_81414EC
|
||||
sub_81414EC: @ 81414EC
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl sub_8141020
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81414EC
|
||||
|
||||
thumb_func_start sub_81414FC
|
||||
sub_81414FC: @ 81414FC
|
||||
push {lr}
|
||||
movs r0, 0x2
|
||||
bl sub_8141020
|
||||
ldr r0, _08141514 @ =sub_814191C
|
||||
movs r1, 0x3
|
||||
bl CreateTask
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08141514: .4byte sub_814191C
|
||||
thumb_func_end sub_81414FC
|
||||
|
||||
thumb_func_start sub_8141518
|
||||
sub_8141518: @ 8141518
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08141528
|
||||
cmp r0, 0x1
|
||||
beq _08141534
|
||||
b _08141550
|
||||
_08141528:
|
||||
bl sub_8141AB0
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _08141550
|
||||
_08141534:
|
||||
ldr r0, _0814154C @ =sub_814191C
|
||||
bl FuncIsActiveTask
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08141550
|
||||
movs r0, 0
|
||||
bl sub_8141020
|
||||
movs r0, 0
|
||||
b _08141552
|
||||
.align 2, 0
|
||||
_0814154C: .4byte sub_814191C
|
||||
_08141550:
|
||||
movs r0, 0x1
|
||||
_08141552:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141518
|
||||
|
||||
thumb_func_start sub_8141558
|
||||
sub_8141558: @ 8141558
|
||||
push {lr}
|
||||
movs r0, 0x3
|
||||
bl sub_8141020
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141558
|
||||
|
||||
thumb_func_start sub_8141568
|
||||
sub_8141568: @ 8141568
|
||||
push {lr}
|
||||
movs r0, 0
|
||||
bl sub_8141020
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141568
|
||||
|
||||
thumb_func_start sub_8141578
|
||||
sub_8141578: @ 8141578
|
||||
push {lr}
|
||||
bl sub_8140F2C
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141578
|
||||
|
||||
thumb_func_start sub_8141584
|
||||
sub_8141584: @ 8141584
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08141594
|
||||
cmp r0, 0x1
|
||||
beq _081415B0
|
||||
b _081415BE
|
||||
_08141594:
|
||||
ldr r0, _081415AC @ =gUnknown_841B747
|
||||
bl sub_81417E4
|
||||
movs r0, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _081415BE
|
||||
.align 2, 0
|
||||
_081415AC: .4byte gUnknown_841B747
|
||||
_081415B0:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081415BE
|
||||
movs r0, 0
|
||||
b _081415C0
|
||||
_081415BE:
|
||||
movs r0, 0x1
|
||||
_081415C0:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141584
|
||||
|
||||
thumb_func_start sub_81415C8
|
||||
sub_81415C8: @ 81415C8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _081415D8
|
||||
cmp r0, 0x1
|
||||
beq _081415F8
|
||||
b _08141606
|
||||
_081415D8:
|
||||
ldr r0, _081415F4 @ =gUnknown_841B76B
|
||||
bl sub_81417E4
|
||||
movs r0, 0
|
||||
bl sub_8141AD8
|
||||
movs r0, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _08141606
|
||||
.align 2, 0
|
||||
_081415F4: .4byte gUnknown_841B76B
|
||||
_081415F8:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08141606
|
||||
movs r0, 0
|
||||
b _08141608
|
||||
_08141606:
|
||||
movs r0, 0x1
|
||||
_08141608:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81415C8
|
||||
|
||||
thumb_func_start sub_8141610
|
||||
sub_8141610: @ 8141610
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08141620
|
||||
cmp r0, 0x1
|
||||
beq _08141638
|
||||
b _08141646
|
||||
_08141620:
|
||||
bl sub_8141828
|
||||
bl sub_8141B18
|
||||
movs r0, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _08141646
|
||||
_08141638:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08141646
|
||||
movs r0, 0
|
||||
b _08141648
|
||||
_08141646:
|
||||
movs r0, 0x1
|
||||
_08141648:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141610
|
||||
|
||||
thumb_func_start sub_8141650
|
||||
sub_8141650: @ 8141650
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r2, [r4]
|
||||
cmp r2, 0
|
||||
beq _08141660
|
||||
cmp r2, 0x1
|
||||
beq _08141678
|
||||
b _08141686
|
||||
_08141660:
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x20
|
||||
ldrb r0, [r0]
|
||||
bl sub_8141BA0
|
||||
movs r0, 0x2
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _08141686
|
||||
_08141678:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08141686
|
||||
movs r0, 0
|
||||
b _08141688
|
||||
_08141686:
|
||||
movs r0, 0x1
|
||||
_08141688:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141650
|
||||
|
||||
thumb_func_start sub_8141690
|
||||
sub_8141690: @ 8141690
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _081416A0
|
||||
cmp r0, 0x1
|
||||
beq _081416B2
|
||||
b _081416C0
|
||||
_081416A0:
|
||||
bl sub_8141BE4
|
||||
movs r0, 0x2
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _081416C0
|
||||
_081416B2:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081416C0
|
||||
movs r0, 0
|
||||
b _081416C2
|
||||
_081416C0:
|
||||
movs r0, 0x1
|
||||
_081416C2:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141690
|
||||
|
||||
thumb_func_start sub_81416C8
|
||||
sub_81416C8: @ 81416C8
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
adds r5, r1, 0
|
||||
ldrb r4, [r6]
|
||||
cmp r4, 0x1
|
||||
beq _08141724
|
||||
cmp r4, 0x1
|
||||
bgt _081416DE
|
||||
cmp r4, 0
|
||||
beq _081416E4
|
||||
b _0814175A
|
||||
_081416DE:
|
||||
cmp r4, 0x2
|
||||
beq _08141756
|
||||
b _0814175A
|
||||
_081416E4:
|
||||
movs r1, 0x80
|
||||
lsls r1, 6
|
||||
movs r0, 0
|
||||
bl SetGpuRegBits
|
||||
movs r0, 0x48
|
||||
movs r1, 0x3F
|
||||
bl SetGpuReg
|
||||
movs r0, 0x4A
|
||||
movs r1, 0x3D
|
||||
bl SetGpuReg
|
||||
movs r0, 0x40
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x42
|
||||
movs r1, 0xA0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x1
|
||||
bl ShowBg
|
||||
movs r0, 0x6
|
||||
bl PlaySE
|
||||
str r4, [r5, 0x24]
|
||||
ldrb r0, [r6]
|
||||
adds r0, 0x1
|
||||
strb r0, [r6]
|
||||
b _0814175A
|
||||
_08141724:
|
||||
ldr r0, [r5, 0x24]
|
||||
adds r0, 0x10
|
||||
str r0, [r5, 0x24]
|
||||
cmp r0, 0xFF
|
||||
ble _0814173A
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
str r0, [r5, 0x24]
|
||||
ldrb r0, [r6]
|
||||
adds r0, 0x1
|
||||
strb r0, [r6]
|
||||
_0814173A:
|
||||
ldr r0, [r5, 0x24]
|
||||
movs r1, 0x80
|
||||
lsls r1, 1
|
||||
subs r1, r0
|
||||
lsls r1, 8
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
ldrh r1, [r5, 0x24]
|
||||
movs r0, 0x40
|
||||
bl SetGpuReg
|
||||
b _0814175A
|
||||
_08141756:
|
||||
movs r0, 0
|
||||
b _0814175C
|
||||
_0814175A:
|
||||
movs r0, 0x1
|
||||
_0814175C:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81416C8
|
||||
|
||||
thumb_func_start sub_8141764
|
||||
sub_8141764: @ 8141764
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0x1
|
||||
beq _08141790
|
||||
cmp r0, 0x1
|
||||
bgt _0814177A
|
||||
cmp r0, 0
|
||||
beq _08141784
|
||||
b _081417DC
|
||||
_0814177A:
|
||||
cmp r0, 0x2
|
||||
beq _081417C0
|
||||
cmp r0, 0x3
|
||||
beq _081417D8
|
||||
b _081417DC
|
||||
_08141784:
|
||||
movs r0, 0x6
|
||||
bl PlaySE
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
_08141790:
|
||||
ldr r0, [r5, 0x24]
|
||||
subs r0, 0x10
|
||||
str r0, [r5, 0x24]
|
||||
cmp r0, 0
|
||||
bgt _081417A4
|
||||
movs r0, 0
|
||||
str r0, [r5, 0x24]
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
_081417A4:
|
||||
ldr r0, [r5, 0x24]
|
||||
movs r1, 0x80
|
||||
lsls r1, 1
|
||||
subs r1, r0
|
||||
lsls r1, 8
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
ldrh r1, [r5, 0x24]
|
||||
movs r0, 0x40
|
||||
bl SetGpuReg
|
||||
b _081417DC
|
||||
_081417C0:
|
||||
movs r0, 0x1
|
||||
bl HideBg
|
||||
movs r1, 0x80
|
||||
lsls r1, 6
|
||||
movs r0, 0
|
||||
bl ClearGpuRegBits
|
||||
ldrb r0, [r4]
|
||||
adds r0, 0x1
|
||||
strb r0, [r4]
|
||||
b _081417DC
|
||||
_081417D8:
|
||||
movs r0, 0
|
||||
b _081417DE
|
||||
_081417DC:
|
||||
movs r0, 0x1
|
||||
_081417DE:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141764
|
||||
|
||||
thumb_func_start sub_81417E4
|
||||
sub_81417E4: @ 81417E4
|
||||
push {r4,lr}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
#include "random.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
extern const u8 gUnknown_841B747[];
|
||||
extern const u8 gUnknown_841B76B[];
|
||||
extern const u8 gUnknown_841B779[];
|
||||
|
||||
struct SlotMachineState
|
||||
|
|
@ -61,7 +63,9 @@ struct SlotMachineSetupTaskDataSub_0000
|
|||
struct SlotMachineSetupTaskData
|
||||
{
|
||||
struct SlotMachineSetupTaskDataSub_0000 field_0000[8];
|
||||
u8 filler_0020[8];
|
||||
u8 field_0020;
|
||||
// align 2
|
||||
s32 field_0024;
|
||||
u32 field_0028;
|
||||
u8 filler_002C[0x830];
|
||||
u8 field_085C[0x800];
|
||||
|
|
@ -122,7 +126,16 @@ bool8 sub_8141650(u8 *, struct SlotMachineSetupTaskData *);
|
|||
bool8 sub_8141690(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_81416C8(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141764(u8 *, struct SlotMachineSetupTaskData *);
|
||||
void sub_81417E4(const u8 * str);
|
||||
void sub_8141828(void);
|
||||
void sub_8141834(u16 * bgTilemapBuffer);
|
||||
void sub_814191C(u8 taskId);
|
||||
void sub_8141AB0(void);
|
||||
void sub_8141AD8(u8 a0);
|
||||
void sub_8141B18(void);
|
||||
void sub_8141B34(void);
|
||||
void sub_8141BA0(u8 a0);
|
||||
void sub_8141BE4(void);
|
||||
void sub_8141C30(u8, u8);
|
||||
|
||||
const u8 gUnknown_8464890[][2] = {
|
||||
|
|
@ -2394,3 +2407,233 @@ bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
|||
"\tbx r1");
|
||||
}
|
||||
#endif //NONMATCHING
|
||||
|
||||
bool8 sub_8141460(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, 0);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!gPaletteFade.active)
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_81414AC(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_8141834(GetBgTilemapBuffer(2));
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_81414EC(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
sub_8141020(1);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_81414FC(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
sub_8141020(2);
|
||||
CreateTask(sub_814191C, 3);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8141518(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_8141AB0();
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!FuncIsActiveTask(sub_814191C))
|
||||
{
|
||||
sub_8141020(0);
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_8141558(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
sub_8141020(3);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8141568(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
sub_8141020(FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8141578(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
sub_8140F2C();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8141584(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_81417E4(gUnknown_841B747);
|
||||
CopyWindowToVram(0, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_81415C8(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_81417E4(gUnknown_841B76B);
|
||||
sub_8141AD8(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_8141610(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_8141828();
|
||||
sub_8141B18();
|
||||
CopyWindowToVram(0, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_8141650(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_8141BA0(ptr->field_0020);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_8141690(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_8141BE4();
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_81416C8(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0x3F);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, 0x3D);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0x00);
|
||||
SetGpuReg(REG_OFFSET_WIN1H, 0xA0);
|
||||
ShowBg(1);
|
||||
PlaySE(SE_WIN_OPEN);
|
||||
ptr->field_0024 = 0;
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
ptr->field_0024 += 16;
|
||||
if (ptr->field_0024 >= 256)
|
||||
{
|
||||
ptr->field_0024 = 256;
|
||||
(*state)++;
|
||||
}
|
||||
ChangeBgX(1, 256 * (256 - ptr->field_0024), 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, ptr->field_0024);
|
||||
break;
|
||||
case 2:
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_8141764(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
PlaySE(SE_WIN_OPEN);
|
||||
(*state)++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
ptr->field_0024 -= 16;
|
||||
if (ptr->field_0024 <= 0)
|
||||
{
|
||||
ptr->field_0024 = 0;
|
||||
(*state)++;
|
||||
}
|
||||
ChangeBgX(1, 256 * (256 - ptr->field_0024), 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, ptr->field_0024);
|
||||
break;
|
||||
case 2:
|
||||
HideBg(1);
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
|
||||
(*state)++;
|
||||
break;
|
||||
case 3:
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user