slot_machine nonmatching sub_8141198
This commit is contained in:
@@ -5,297 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8141198
|
||||
sub_8141198: @ 8141198
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x14
|
||||
adds r7, r0, 0
|
||||
mov r8, r1
|
||||
ldrb r6, [r7]
|
||||
cmp r6, 0x1
|
||||
beq _081411D0
|
||||
cmp r6, 0x1
|
||||
bgt _081411B4
|
||||
cmp r6, 0
|
||||
beq _081411C2
|
||||
b _08141450
|
||||
_081411B4:
|
||||
cmp r6, 0x2
|
||||
bne _081411BA
|
||||
b _081413E4
|
||||
_081411BA:
|
||||
cmp r6, 0x3
|
||||
bne _081411C0
|
||||
b _08141436
|
||||
_081411C0:
|
||||
b _08141450
|
||||
_081411C2:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x10
|
||||
movs r2, 0
|
||||
bl BlendPalettes
|
||||
b _0814142E
|
||||
_081411D0:
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
bl ResetSpriteData
|
||||
bl FreeAllSpritePalettes
|
||||
movs r1, 0xE0
|
||||
lsls r1, 19
|
||||
movs r2, 0x80
|
||||
lsls r2, 3
|
||||
movs r0, 0
|
||||
movs r3, 0x1
|
||||
bl RequestDma3Fill
|
||||
movs r1, 0xC0
|
||||
lsls r1, 19
|
||||
movs r0, 0
|
||||
movs r2, 0x20
|
||||
movs r3, 0x1
|
||||
bl RequestDma3Fill
|
||||
ldr r1, _0814139C @ =0x0600c000
|
||||
movs r0, 0
|
||||
movs r2, 0x20
|
||||
movs r3, 0x1
|
||||
bl RequestDma3Fill
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
bl sub_80F6C14
|
||||
movs r0, 0
|
||||
bl ResetBgsAndClearDma3BusyFlags
|
||||
ldr r1, _081413A0 @ =gUnknown_8466B10
|
||||
movs r0, 0
|
||||
movs r2, 0x4
|
||||
bl InitBgsFromTemplates
|
||||
ldr r0, _081413A4 @ =gUnknown_8466B20
|
||||
bl InitWindows
|
||||
ldr r1, _081413A8 @ =0x0000205c
|
||||
add r1, r8
|
||||
movs r0, 0x3
|
||||
bl SetBgTilemapBuffer
|
||||
movs r4, 0x20
|
||||
str r4, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl FillBgTilemapBufferRect_Palette0
|
||||
movs r0, 0x3
|
||||
bl CopyBgTilemapBufferToVram
|
||||
bl reset_temp_tile_data_buffers
|
||||
ldr r1, _081413AC @ =gUnknown_84659D0
|
||||
movs r5, 0
|
||||
str r5, [sp]
|
||||
movs r0, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl decompress_and_copy_tile_data_to_vram
|
||||
ldr r1, _081413B0 @ =gUnknown_846653C
|
||||
str r5, [sp]
|
||||
movs r0, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0xC0
|
||||
bl decompress_and_copy_tile_data_to_vram
|
||||
ldr r1, _081413B4 @ =0x0000185c
|
||||
add r1, r8
|
||||
movs r0, 0x2
|
||||
bl SetBgTilemapBuffer
|
||||
ldr r1, _081413B8 @ =gUnknown_84661D4
|
||||
movs r0, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl CopyToBgTilemapBuffer
|
||||
movs r0, 0x2
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldr r0, _081413BC @ =gUnknown_8465930
|
||||
movs r1, 0
|
||||
movs r2, 0xA0
|
||||
bl LoadPalette
|
||||
ldr r0, _081413C0 @ =gUnknown_84664BC
|
||||
movs r1, 0x50
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, _081413C4 @ =gUnknown_84665C0
|
||||
movs r1, 0x70
|
||||
movs r2, 0x60
|
||||
bl LoadPalette
|
||||
ldr r1, _081413C8 @ =0x00007fde
|
||||
add r0, sp, 0xC
|
||||
strh r1, [r0]
|
||||
movs r1, 0
|
||||
movs r2, 0x2
|
||||
bl LoadPalette
|
||||
movs r0, 0
|
||||
movs r1, 0xA
|
||||
movs r2, 0xD0
|
||||
bl LoadUserWindowBorderGfx
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF0
|
||||
bl sub_814FDA0
|
||||
ldr r1, _081413CC @ =0x0000085c
|
||||
add r1, r8
|
||||
movs r0, 0
|
||||
bl SetBgTilemapBuffer
|
||||
str r4, [sp]
|
||||
movs r0, 0x1E
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl FillBgTilemapBufferRect_Palette0
|
||||
ldr r1, _081413D0 @ =gUnknown_8466620
|
||||
str r5, [sp]
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl decompress_and_copy_tile_data_to_vram
|
||||
ldr r1, _081413D4 @ =gUnknown_8466998
|
||||
str r6, [sp]
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl decompress_and_copy_tile_data_to_vram
|
||||
movs r0, 0x1
|
||||
bl CopyBgTilemapBufferToVram
|
||||
movs r0, 0x2
|
||||
bl stdpal_get
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
movs r0, 0x1
|
||||
movs r1, 0xFF
|
||||
bl FillWindowPixelBuffer
|
||||
movs r0, 0x1
|
||||
bl PutWindowTilemap
|
||||
ldr r4, _081413D8 @ =gUnknown_841B779
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0
|
||||
bl GetStringWidth
|
||||
movs r2, 0xEC
|
||||
subs r2, r0
|
||||
add r1, sp, 0x10
|
||||
movs r0, 0xF
|
||||
strb r0, [r1]
|
||||
strb r6, [r1, 0x1]
|
||||
movs r0, 0x2
|
||||
strb r0, [r1, 0x2]
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
str r1, [sp]
|
||||
str r5, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
movs r3, 0
|
||||
bl box_print
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
movs r1, 0x83
|
||||
lsls r1, 5
|
||||
movs r0, 0
|
||||
bl SetGpuRegBits
|
||||
movs r0, 0x50
|
||||
movs r1, 0xF8
|
||||
bl SetGpuReg
|
||||
bl sub_8140C0C
|
||||
bl sub_8140CA0
|
||||
bl sub_8140E9C
|
||||
bl sub_8140FC4
|
||||
bl sub_8140F2C
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x10
|
||||
movs r2, 0
|
||||
bl BlendPalettes
|
||||
ldr r0, _081413DC @ =sub_8141118
|
||||
bl SetVBlankCallback
|
||||
ldr r0, _081413E0 @ =sub_8140E40
|
||||
bl SetHBlankCallback
|
||||
b _0814142E
|
||||
.align 2, 0
|
||||
_0814139C: .4byte 0x0600c000
|
||||
_081413A0: .4byte gUnknown_8466B10
|
||||
_081413A4: .4byte gUnknown_8466B20
|
||||
_081413A8: .4byte 0x0000205c
|
||||
_081413AC: .4byte gUnknown_84659D0
|
||||
_081413B0: .4byte gUnknown_846653C
|
||||
_081413B4: .4byte 0x0000185c
|
||||
_081413B8: .4byte gUnknown_84661D4
|
||||
_081413BC: .4byte gUnknown_8465930
|
||||
_081413C0: .4byte gUnknown_84664BC
|
||||
_081413C4: .4byte gUnknown_84665C0
|
||||
_081413C8: .4byte 0x00007fde
|
||||
_081413CC: .4byte 0x0000085c
|
||||
_081413D0: .4byte gUnknown_8466620
|
||||
_081413D4: .4byte gUnknown_8466998
|
||||
_081413D8: .4byte gUnknown_841B779
|
||||
_081413DC: .4byte sub_8141118
|
||||
_081413E0: .4byte sub_8140E40
|
||||
_081413E4:
|
||||
bl free_temp_tile_data_buffers_if_possible
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0
|
||||
bne _08141450
|
||||
movs r0, 0
|
||||
bl ShowBg
|
||||
movs r0, 0x3
|
||||
bl ShowBg
|
||||
movs r0, 0x2
|
||||
bl ShowBg
|
||||
movs r0, 0x1
|
||||
bl HideBg
|
||||
bl sub_8141B34
|
||||
movs r4, 0x1
|
||||
negs r4, r4
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x10
|
||||
movs r2, 0
|
||||
bl BlendPalettes
|
||||
str r5, [sp]
|
||||
adds r0, r4, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
movs r0, 0x3
|
||||
bl EnableInterrupts
|
||||
_0814142E:
|
||||
ldrb r0, [r7]
|
||||
adds r0, 0x1
|
||||
strb r0, [r7]
|
||||
b _08141450
|
||||
_08141436:
|
||||
bl UpdatePaletteFade
|
||||
ldr r0, _0814144C @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08141450
|
||||
movs r0, 0
|
||||
b _08141452
|
||||
.align 2, 0
|
||||
_0814144C: .4byte gPaletteFade
|
||||
_08141450:
|
||||
movs r0, 0x1
|
||||
_08141452:
|
||||
add sp, 0x14
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8141198
|
||||
|
||||
thumb_func_start sub_8141460
|
||||
sub_8141460: @ 8141460
|
||||
push {r4,lr}
|
||||
|
||||
@@ -2,57 +2,6 @@
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnknown_8465930:: @ 8465930
|
||||
.incbin "graphics/slot_machine/unk_8465930.gbapal"
|
||||
|
||||
gUnknown_8465950:: @ 8465950
|
||||
.incbin "graphics/slot_machine/unk_8465950.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_8465970.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_8465990.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_84659b0.gbapal"
|
||||
|
||||
gUnknown_84659D0:: @ 84659D0
|
||||
.incbin "graphics/slot_machine/unk_84659d0.4bpp.lz"
|
||||
|
||||
gUnknown_84661D4:: @ 84661D4
|
||||
.incbin "graphics/slot_machine/unk_84661d4.bin.lz"
|
||||
|
||||
gUnknown_84664BC:: @ 84664BC
|
||||
.incbin "graphics/slot_machine/unk_84664bc.gbapal"
|
||||
|
||||
gUnknown_84664DC:: @ 84664DC
|
||||
.incbin "graphics/slot_machine/unk_84664dc.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_84664fc.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_846651c.gbapal"
|
||||
|
||||
gUnknown_846653C:: @ 846653C
|
||||
.incbin "graphics/slot_machine/unk_846653c.4bpp.lz"
|
||||
|
||||
gUnknown_84665C0:: @ 84665C0
|
||||
.incbin "graphics/slot_machine/unk_84665c0.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_84665e0.gbapal"
|
||||
.incbin "graphics/slot_machine/unk_8466600.gbapal"
|
||||
|
||||
gUnknown_8466620:: @ 8466620
|
||||
.incbin "graphics/slot_machine/unk_8466620.4bpp.lz"
|
||||
|
||||
gUnknown_8466998:: @ 8466998
|
||||
.incbin "graphics/slot_machine/unk_8466998.bin.lz"
|
||||
|
||||
.align 2 @ bg templates
|
||||
gUnknown_8466B10:: @ 8466B10
|
||||
.4byte 0x000001d0
|
||||
.4byte 0x000031ff
|
||||
.4byte 0x000021ea
|
||||
.4byte 0x000001c5
|
||||
|
||||
gUnknown_8466B20:: @ 8466B20
|
||||
window_template 0x00, 0x05, 0x0f, 0x14, 0x04, 0x0f, 0x004f
|
||||
window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0e, 0x0013
|
||||
window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
|
||||
|
||||
gUnknown_8466B38::
|
||||
.2byte 0x00a4, 0x00a5, 0x00a6, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00e7, 0x012c, 0x014c, 0x0191, 0x01b1, 0x01f6, 0x0216, 0x0217, 0x0218
|
||||
.2byte 0x0219, 0x0237, 0x0238, 0x0239
|
||||
|
||||
@@ -32,5 +32,6 @@ u16 sub_80F796C(void);
|
||||
void sub_80F6B08(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void * gfx, u32 size, u16 a3, u8 a4);
|
||||
void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow);
|
||||
void sub_80F6C14(void);
|
||||
|
||||
#endif // GUARD_NEW_MENU_HELPERS_H
|
||||
|
||||
+503
-27
@@ -1,4 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "dma3.h"
|
||||
#include "bg.h"
|
||||
#include "palette.h"
|
||||
#include "decompress.h"
|
||||
#include "task.h"
|
||||
@@ -10,9 +13,13 @@
|
||||
#include "overworld.h"
|
||||
#include "slot_machine.h"
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "text_window.h"
|
||||
#include "random.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
extern const u8 gUnknown_841B779[];
|
||||
|
||||
struct SlotMachineState
|
||||
{
|
||||
MainCallback savedCallback;
|
||||
@@ -44,20 +51,24 @@ struct SlotMachineGfxManager
|
||||
vu16 * field_70;
|
||||
};
|
||||
|
||||
struct SlotMachineReelActionTaskDataSub_0000
|
||||
struct SlotMachineSetupTaskDataSub_0000
|
||||
{
|
||||
u16 unk0;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
};
|
||||
|
||||
struct SlotMachineReelActionTaskData
|
||||
struct SlotMachineSetupTaskData
|
||||
{
|
||||
struct SlotMachineReelActionTaskDataSub_0000 field_0000[8];
|
||||
struct SlotMachineSetupTaskDataSub_0000 field_0000[8];
|
||||
u8 filler_0020[8];
|
||||
u32 field_0028;
|
||||
u8 filler_002C[0x2830];
|
||||
};
|
||||
u8 filler_002C[0x830];
|
||||
u8 field_085C[0x800];
|
||||
u8 field_105C[0x800];
|
||||
u8 field_185C[0x800];
|
||||
u8 field_205C[0x800];
|
||||
}; // size: 285C
|
||||
|
||||
EWRAM_DATA struct SlotMachineState * sSlotMachineState = NULL;
|
||||
EWRAM_DATA struct SlotMachineGfxManager * sSlotMachineGfxManager = NULL;
|
||||
@@ -91,26 +102,27 @@ void sub_8140C6C(struct SlotMachineGfxManager * manager);
|
||||
void sub_8140D7C(const s16 *, const s16 *);
|
||||
bool32 sub_814104C(void);
|
||||
void sub_8141094(void);
|
||||
struct SlotMachineReelActionTaskData * sub_814112C(void);
|
||||
struct SlotMachineSetupTaskData * sub_814112C(void);
|
||||
void sub_81410CC(u8 taskId);
|
||||
bool8 sub_8141198(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141460(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_81414AC(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_81414EC(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_81414FC(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141518(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141558(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141568(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141578(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141584(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_81415C8(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141610(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141650(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141690(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_81416C8(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
bool8 sub_8141764(u8 *, struct SlotMachineReelActionTaskData *);
|
||||
void sub_8141148(u16 a0, u8 a1);
|
||||
bool32 sub_8141180(u8 a0);
|
||||
bool8 sub_8141198(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141460(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_81414AC(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_81414EC(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_81414FC(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141518(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141558(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141568(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141578(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141584(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_81415C8(u8 *, struct SlotMachineSetupTaskData *);
|
||||
bool8 sub_8141610(u8 *, struct SlotMachineSetupTaskData *);
|
||||
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_8141B34(void);
|
||||
void sub_8141C30(u8, u8);
|
||||
|
||||
const u8 gUnknown_8464890[][2] = {
|
||||
@@ -466,7 +478,7 @@ const struct SpriteTemplate gUnknown_84658D8 = {
|
||||
1, 5, &gUnknown_8465894, gUnknown_84658C8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
};
|
||||
|
||||
bool8 (*const gUnknown_84658F0[])(u8 *, struct SlotMachineReelActionTaskData *) = {
|
||||
bool8 (*const gUnknown_84658F0[])(u8 *, struct SlotMachineSetupTaskData *) = {
|
||||
sub_8141198,
|
||||
sub_8141460,
|
||||
sub_81414AC,
|
||||
@@ -485,6 +497,81 @@ bool8 (*const gUnknown_84658F0[])(u8 *, struct SlotMachineReelActionTaskData *)
|
||||
sub_8141764
|
||||
};
|
||||
|
||||
const u16 gUnknown_8465930[] = INCBIN_U16("graphics/slot_machine/unk_8465930.gbapal");
|
||||
const u16 gUnknown_8465950[] = INCBIN_U16("graphics/slot_machine/unk_8465950.gbapal");
|
||||
const u16 gUnknown_8465970[] = INCBIN_U16("graphics/slot_machine/unk_8465970.gbapal");
|
||||
const u16 gUnknown_8465990[] = INCBIN_U16("graphics/slot_machine/unk_8465990.gbapal");
|
||||
const u16 gUnknown_84659B0[] = INCBIN_U16("graphics/slot_machine/unk_84659b0.gbapal");
|
||||
const u32 gUnknown_84659D0[] = INCBIN_U32("graphics/slot_machine/unk_84659d0.4bpp.lz");
|
||||
const u32 gUnknown_84661D4[] = INCBIN_U32("graphics/slot_machine/unk_84661d4.bin.lz");
|
||||
const u16 gUnknown_84664BC[] = INCBIN_U16("graphics/slot_machine/unk_84664bc.gbapal");
|
||||
const u16 gUnknown_84664DC[] = INCBIN_U16("graphics/slot_machine/unk_84664dc.gbapal");
|
||||
const u16 gUnknown_84664FC[] = INCBIN_U16("graphics/slot_machine/unk_84664fc.gbapal");
|
||||
const u16 gUnknown_846651C[] = INCBIN_U16("graphics/slot_machine/unk_846651c.gbapal");
|
||||
const u32 gUnknown_846653C[] = INCBIN_U32("graphics/slot_machine/unk_846653c.4bpp.lz");
|
||||
const u16 gUnknown_84665C0[] = INCBIN_U16("graphics/slot_machine/unk_84665c0.gbapal");
|
||||
const u16 gUnknown_84665E0[] = INCBIN_U16("graphics/slot_machine/unk_84665e0.gbapal");
|
||||
const u16 gUnknown_8466600[] = INCBIN_U16("graphics/slot_machine/unk_8466600.gbapal");
|
||||
const u32 gUnknown_8466620[] = INCBIN_U32("graphics/slot_machine/unk_8466620.4bpp.lz");
|
||||
const u32 gUnknown_8466998[] = INCBIN_U32("graphics/slot_machine/unk_8466998.bin.lz");
|
||||
|
||||
const struct BgTemplate gUnknown_8466B10[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 29,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0x000
|
||||
}, {
|
||||
.bg = 3,
|
||||
.charBaseIndex = 3,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0x000
|
||||
}, {
|
||||
.bg = 2,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0x000
|
||||
}, {
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 28,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0x000
|
||||
}
|
||||
};
|
||||
|
||||
const struct WindowTemplate gUnknown_8466B20[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 15,
|
||||
.width = 20,
|
||||
.height = 4,
|
||||
.paletteNum = 0x0f,
|
||||
.baseBlock = 0x04f
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 0x0e,
|
||||
.baseBlock = 0x013
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
void PlaySlotMachine(u16 machineIdx, MainCallback savedCallback)
|
||||
{
|
||||
ResetTasks();
|
||||
@@ -1861,7 +1948,7 @@ bool32 sub_814104C(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
struct SlotMachineReelActionTaskData * ptr = Alloc(sizeof(struct SlotMachineReelActionTaskData));
|
||||
struct SlotMachineSetupTaskData * ptr = Alloc(sizeof(struct SlotMachineSetupTaskData));
|
||||
if (ptr == NULL)
|
||||
return FALSE;
|
||||
for (i = 0; i < 8; i++)
|
||||
@@ -1884,7 +1971,7 @@ void sub_8141094(void)
|
||||
|
||||
void sub_81410CC(u8 taskId)
|
||||
{
|
||||
struct SlotMachineReelActionTaskData * ptr = (void *)GetWordTaskArg(taskId, 0);
|
||||
struct SlotMachineSetupTaskData * ptr = (void *)GetWordTaskArg(taskId, 0);
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
@@ -1901,14 +1988,14 @@ void sub_8141118(void)
|
||||
ProcessSpriteCopyRequests();
|
||||
}
|
||||
|
||||
struct SlotMachineReelActionTaskData * sub_814112C(void)
|
||||
struct SlotMachineSetupTaskData * sub_814112C(void)
|
||||
{
|
||||
return (void *)GetWordTaskArg(FindTaskIdByFunc(sub_81410CC), 0);
|
||||
}
|
||||
|
||||
void sub_8141148(u16 a0, u8 a1)
|
||||
{
|
||||
struct SlotMachineReelActionTaskData * ptr = sub_814112C();
|
||||
struct SlotMachineSetupTaskData * ptr = sub_814112C();
|
||||
ptr->field_0000[a1].unk0 = a0;
|
||||
ptr->field_0000[a1].unk2 = 0;
|
||||
ptr->field_0000[a1].unk3 = gUnknown_84658F0[a0](&ptr->field_0000[a1].unk2, ptr);
|
||||
@@ -1918,3 +2005,392 @@ bool32 sub_8141180(u8 a0)
|
||||
{
|
||||
return sub_814112C()->field_0000[a0].unk3;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
u16 pal;
|
||||
struct TextColor textColor;
|
||||
u32 x;
|
||||
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
SetVBlankCallback(NULL);
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
RequestDma3Fill(0, (void *)OAM, OAM_SIZE, 1);
|
||||
RequestDma3Fill(0, (void *)VRAM, 0x20, 1);
|
||||
RequestDma3Fill(0, (void *)(VRAM + 0xC000), 0x20, 1);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
sub_80F6C14();
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, gUnknown_8466B10, NELEMS(gUnknown_8466B10));
|
||||
InitWindows(gUnknown_8466B20);
|
||||
|
||||
SetBgTilemapBuffer(3, ptr->field_205C);
|
||||
FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
|
||||
reset_temp_tile_data_buffers();
|
||||
decompress_and_copy_tile_data_to_vram(2, gUnknown_84659D0, 0, 0x00, 0);
|
||||
decompress_and_copy_tile_data_to_vram(2, gUnknown_846653C, 0, 0xC0, 0);
|
||||
SetBgTilemapBuffer(2, ptr->field_185C);
|
||||
CopyToBgTilemapBuffer(2, gUnknown_84661D4, 0, 0x00);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
LoadPalette(gUnknown_8465930, 0x00, 0xA0);
|
||||
LoadPalette(gUnknown_84664BC, 0x50, 0x20);
|
||||
LoadPalette(gUnknown_84665C0, 0x70, 0x60);
|
||||
pal = RGB(30, 30, 31);
|
||||
LoadPalette(&pal, 0x00, 0x02);
|
||||
LoadUserWindowBorderGfx(0, 0x00A, 0xD0);
|
||||
sub_814FDA0(0, 0x001, 0xF0);
|
||||
|
||||
SetBgTilemapBuffer(0, ptr->field_085C);
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 2, 32, 30);
|
||||
decompress_and_copy_tile_data_to_vram(1, gUnknown_8466620, 0, 0, 0);
|
||||
decompress_and_copy_tile_data_to_vram(1, gUnknown_8466998, 0, 0, 1);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
|
||||
LoadPalette(stdpal_get(2), 0xE0, 0x20);
|
||||
FillWindowPixelBuffer(1, 0xFF);
|
||||
PutWindowTilemap(1);
|
||||
|
||||
x = 0xEC - GetStringWidth(0, gUnknown_841B779, 0);
|
||||
textColor.fgColor = 15;
|
||||
textColor.bgColor = 1;
|
||||
textColor.shadowColor = 2;
|
||||
box_print(1, 0, x, 0, &textColor, 0, gUnknown_841B779);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | 0x20 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN);
|
||||
sub_8140C0C();
|
||||
sub_8140CA0();
|
||||
sub_8140E9C();
|
||||
sub_8140FC4();
|
||||
sub_8140F2C();
|
||||
BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK);
|
||||
SetVBlankCallback(sub_8141118);
|
||||
SetHBlankCallback(sub_8140E40);
|
||||
(*state)++;
|
||||
break;
|
||||
case 2:
|
||||
if (!free_temp_tile_data_buffers_if_possible())
|
||||
{
|
||||
ShowBg(0);
|
||||
ShowBg(3);
|
||||
ShowBg(2);
|
||||
HideBg(1);
|
||||
sub_8141B34();
|
||||
BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
|
||||
EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_HBLANK);
|
||||
(*state)++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
UpdatePaletteFade();
|
||||
if (!gPaletteFade.active)
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
asm_unified("\tpush {r4-r7,lr}\n"
|
||||
"\tmov r7, r8\n"
|
||||
"\tpush {r7}\n"
|
||||
"\tsub sp, 0x14\n"
|
||||
"\tadds r7, r0, 0\n"
|
||||
"\tmov r8, r1\n"
|
||||
"\tldrb r6, [r7]\n"
|
||||
"\tcmp r6, 0x1\n"
|
||||
"\tbeq _081411D0\n"
|
||||
"\tcmp r6, 0x1\n"
|
||||
"\tbgt _081411B4\n"
|
||||
"\tcmp r6, 0\n"
|
||||
"\tbeq _081411C2\n"
|
||||
"\tb _08141450\n"
|
||||
"_081411B4:\n"
|
||||
"\tcmp r6, 0x2\n"
|
||||
"\tbne _081411BA\n"
|
||||
"\tb _081413E4\n"
|
||||
"_081411BA:\n"
|
||||
"\tcmp r6, 0x3\n"
|
||||
"\tbne _081411C0\n"
|
||||
"\tb _08141436\n"
|
||||
"_081411C0:\n"
|
||||
"\tb _08141450\n"
|
||||
"_081411C2:\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tb _0814142E\n"
|
||||
"_081411D0:\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetVBlankCallback\n"
|
||||
"\tbl ResetSpriteData\n"
|
||||
"\tbl FreeAllSpritePalettes\n"
|
||||
"\tmovs r1, 0xE0\n"
|
||||
"\tlsls r1, 19\n"
|
||||
"\tmovs r2, 0x80\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl RequestDma3Fill\n"
|
||||
"\tmovs r1, 0xC0\n"
|
||||
"\tlsls r1, 19\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl RequestDma3Fill\n"
|
||||
"\tldr r1, _0814139C @ =0x0600c000\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl RequestDma3Fill\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl SetGpuReg\n"
|
||||
"\tbl sub_80F6C14\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl ResetBgsAndClearDma3BusyFlags\n"
|
||||
"\tldr r1, _081413A0 @ =gUnknown_8466B10\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r2, 0x4\n"
|
||||
"\tbl InitBgsFromTemplates\n"
|
||||
"\tldr r0, _081413A4 @ =gUnknown_8466B20\n"
|
||||
"\tbl InitWindows\n"
|
||||
"\tldr r1, _081413A8 @ =0x0000205c\n"
|
||||
"\tadd r1, r8\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl SetBgTilemapBuffer\n"
|
||||
"\tmovs r4, 0x20\n"
|
||||
"\tstr r4, [sp]\n"
|
||||
"\tstr r4, [sp, 0x4]\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl FillBgTilemapBufferRect_Palette0\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tbl reset_temp_tile_data_buffers\n"
|
||||
"\tldr r1, _081413AC @ =gUnknown_84659D0\n"
|
||||
"\tmovs r5, 0\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl decompress_and_copy_tile_data_to_vram\n"
|
||||
"\tldr r1, _081413B0 @ =gUnknown_846653C\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0xC0\n"
|
||||
"\tbl decompress_and_copy_tile_data_to_vram\n"
|
||||
"\tldr r1, _081413B4 @ =0x0000185c\n"
|
||||
"\tadd r1, r8\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl SetBgTilemapBuffer\n"
|
||||
"\tldr r1, _081413B8 @ =gUnknown_84661D4\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl CopyToBgTilemapBuffer\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tldr r0, _081413BC @ =gUnknown_8465930\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0xA0\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tldr r0, _081413C0 @ =gUnknown_84664BC\n"
|
||||
"\tmovs r1, 0x50\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tldr r0, _081413C4 @ =gUnknown_84665C0\n"
|
||||
"\tmovs r1, 0x70\n"
|
||||
"\tmovs r2, 0x60\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tldr r1, _081413C8 @ =0x00007fde\n"
|
||||
"\tadd r0, sp, 0xC\n"
|
||||
"\tstrh r1, [r0]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0x2\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0xA\n"
|
||||
"\tmovs r2, 0xD0\n"
|
||||
"\tbl LoadUserWindowBorderGfx\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tmovs r2, 0xF0\n"
|
||||
"\tbl sub_814FDA0\n"
|
||||
"\tldr r1, _081413CC @ =0x0000085c\n"
|
||||
"\tadd r1, r8\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetBgTilemapBuffer\n"
|
||||
"\tstr r4, [sp]\n"
|
||||
"\tmovs r0, 0x1E\n"
|
||||
"\tstr r0, [sp, 0x4]\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0x2\n"
|
||||
"\tbl FillBgTilemapBufferRect_Palette0\n"
|
||||
"\tldr r1, _081413D0 @ =gUnknown_8466620\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl decompress_and_copy_tile_data_to_vram\n"
|
||||
"\tldr r1, _081413D4 @ =gUnknown_8466998\n"
|
||||
"\tstr r6, [sp]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl decompress_and_copy_tile_data_to_vram\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl stdpal_get\n"
|
||||
"\tmovs r1, 0xE0\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r1, 0xFF\n"
|
||||
"\tbl FillWindowPixelBuffer\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl PutWindowTilemap\n"
|
||||
"\tldr r4, _081413D8 @ =gUnknown_841B779\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tadds r1, r4, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl GetStringWidth\n"
|
||||
"\tmovs r2, 0xEC\n"
|
||||
"\tsubs r2, r0\n"
|
||||
"\tadd r1, sp, 0x10\n"
|
||||
"\tmovs r0, 0xF\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tstrb r6, [r1, 0x1]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tstrb r0, [r1, 0x2]\n"
|
||||
"\tlsls r2, 24\n"
|
||||
"\tlsrs r2, 24\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tstr r5, [sp, 0x4]\n"
|
||||
"\tstr r4, [sp, 0x8]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl box_print\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r1, 0x83\n"
|
||||
"\tlsls r1, 5\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetGpuRegBits\n"
|
||||
"\tmovs r0, 0x50\n"
|
||||
"\tmovs r1, 0xF8\n"
|
||||
"\tbl SetGpuReg\n"
|
||||
"\tbl sub_8140C0C\n"
|
||||
"\tbl sub_8140CA0\n"
|
||||
"\tbl sub_8140E9C\n"
|
||||
"\tbl sub_8140FC4\n"
|
||||
"\tbl sub_8140F2C\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tldr r0, _081413DC @ =sub_8141118\n"
|
||||
"\tbl SetVBlankCallback\n"
|
||||
"\tldr r0, _081413E0 @ =sub_8140E40\n"
|
||||
"\tbl SetHBlankCallback\n"
|
||||
"\tb _0814142E\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0814139C: .4byte 0x0600c000\n"
|
||||
"_081413A0: .4byte gUnknown_8466B10\n"
|
||||
"_081413A4: .4byte gUnknown_8466B20\n"
|
||||
"_081413A8: .4byte 0x0000205c\n"
|
||||
"_081413AC: .4byte gUnknown_84659D0\n"
|
||||
"_081413B0: .4byte gUnknown_846653C\n"
|
||||
"_081413B4: .4byte 0x0000185c\n"
|
||||
"_081413B8: .4byte gUnknown_84661D4\n"
|
||||
"_081413BC: .4byte gUnknown_8465930\n"
|
||||
"_081413C0: .4byte gUnknown_84664BC\n"
|
||||
"_081413C4: .4byte gUnknown_84665C0\n"
|
||||
"_081413C8: .4byte 0x00007fde\n"
|
||||
"_081413CC: .4byte 0x0000085c\n"
|
||||
"_081413D0: .4byte gUnknown_8466620\n"
|
||||
"_081413D4: .4byte gUnknown_8466998\n"
|
||||
"_081413D8: .4byte gUnknown_841B779\n"
|
||||
"_081413DC: .4byte sub_8141118\n"
|
||||
"_081413E0: .4byte sub_8140E40\n"
|
||||
"_081413E4:\n"
|
||||
"\tbl free_temp_tile_data_buffers_if_possible\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tlsrs r5, r0, 24\n"
|
||||
"\tcmp r5, 0\n"
|
||||
"\tbne _08141450\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl HideBg\n"
|
||||
"\tbl sub_8141B34\n"
|
||||
"\tmovs r4, 0x1\n"
|
||||
"\tnegs r4, r4\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tadds r1, r4, 0\n"
|
||||
"\tmovs r2, 0x10\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl EnableInterrupts\n"
|
||||
"_0814142E:\n"
|
||||
"\tldrb r0, [r7]\n"
|
||||
"\tadds r0, 0x1\n"
|
||||
"\tstrb r0, [r7]\n"
|
||||
"\tb _08141450\n"
|
||||
"_08141436:\n"
|
||||
"\tbl UpdatePaletteFade\n"
|
||||
"\tldr r0, _0814144C @ =gPaletteFade\n"
|
||||
"\tldrb r1, [r0, 0x7]\n"
|
||||
"\tmovs r0, 0x80\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _08141450\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tb _08141452\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0814144C: .4byte gPaletteFade\n"
|
||||
"_08141450:\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"_08141452:\n"
|
||||
"\tadd sp, 0x14\n"
|
||||
"\tpop {r3}\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tpop {r4-r7}\n"
|
||||
"\tpop {r1}\n"
|
||||
"\tbx r1");
|
||||
}
|
||||
#endif //NONMATCHING
|
||||
|
||||
Reference in New Issue
Block a user