From 8fd3100fb491c22bb90d1a86f2f1b0fd3b090ac4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 20 Dec 2017 17:31:27 -0500 Subject: Through sub_8101A28 --- asm/slot_machine.s | 206 ----------------------------------------------- include/ewram.h | 2 +- ld_script.txt | 3 +- src/field/slot_machine.c | 125 +++++++++++++++++++++++++++- 4 files changed, 125 insertions(+), 211 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 62792245d..4060e2541 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,212 +5,6 @@ .text - thumb_func_start PlaySlotMachine -PlaySlotMachine: @ 81018A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_81019B0 - ldr r0, _081018B4 @ =sub_81018B8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_081018B4: .4byte sub_81018B8 - thumb_func_end PlaySlotMachine - - thumb_func_start sub_81018B8 -sub_81018B8: @ 81018B8 - push {lr} - ldr r0, _081018D0 @ =gMain - ldr r1, _081018D4 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x6 - bhi _0810194A - lsls r0, 2 - ldr r1, _081018D8 @ =_081018DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081018D0: .4byte gMain -_081018D4: .4byte 0x0000043c -_081018D8: .4byte _081018DC - .align 2, 0 -_081018DC: - .4byte _081018F8 - .4byte _08101902 - .4byte _08101908 - .4byte _08101912 - .4byte _08101918 - .4byte _0810191E - .4byte _08101938 -_081018F8: - bl sub_8101A28 - bl sub_8101BA4 - b _08101922 -_08101902: - bl sub_8101A8C - b _08101922 -_08101908: - bl sub_8101AE0 - bl sub_8101B04 - b _08101922 -_08101912: - bl sub_8101C84 - b _08101922 -_08101918: - bl sub_8101CA0 - b _08101922 -_0810191E: - bl sub_8101CC0 -_08101922: - ldr r1, _08101930 @ =gMain - ldr r0, _08101934 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810194A - .align 2, 0 -_08101930: .4byte gMain -_08101934: .4byte 0x0000043c -_08101938: - bl sub_8101CD4 - bl sub_8101CEC - bl sub_8101A44 - ldr r0, _08101950 @ =sub_8101954 - bl SetMainCallback2 -_0810194A: - pop {r0} - bx r0 - .align 2, 0 -_08101950: .4byte sub_8101954 - thumb_func_end sub_81018B8 - - thumb_func_start sub_8101954 -sub_8101954: @ 8101954 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8101954 - - thumb_func_start sub_810196C -sub_810196C: @ 810196C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _081019A8 @ =REG_WIN0H - ldr r2, _081019AC @ =gSharedMem - adds r0, r2, 0 - adds r0, 0x58 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - adds r0, r2, 0 - adds r0, 0x5A - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - adds r0, r2, 0 - adds r0, 0x5C - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - adds r0, r2, 0 - adds r0, 0x5E - ldrh r0, [r0] - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_081019A8: .4byte REG_WIN0H -_081019AC: .4byte gSharedMem - thumb_func_end sub_810196C - - thumb_func_start sub_81019B0 -sub_81019B0: @ 81019B0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _081019E4 @ =nullsub_67 - movs r1, 0xFF - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _081019E8 @ =gTasks - adds r0, r1 - strh r4, [r0, 0x8] - adds r0, 0xA - adds r1, r5, 0 - bl StoreWordInTwoHalfwords - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081019E4: .4byte nullsub_67 -_081019E8: .4byte gTasks - thumb_func_end sub_81019B0 - - thumb_func_start sub_81019EC -sub_81019EC: @ 81019EC - push {lr} - ldr r0, _08101A18 @ =nullsub_67 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, _08101A1C @ =gTasks - adds r2, r0 - ldr r1, _08101A20 @ =gSharedMem - ldrh r0, [r2, 0x8] - strb r0, [r1, 0x1] - adds r2, 0xA - adds r1, 0x64 - adds r0, r2, 0 - bl LoadWordFromTwoHalfwords - pop {r0} - bx r0 - .align 2, 0 -_08101A18: .4byte nullsub_67 -_08101A1C: .4byte gTasks -_08101A20: .4byte gSharedMem - thumb_func_end sub_81019EC - - thumb_func_start nullsub_67 -nullsub_67: @ 8101A24 - bx lr - thumb_func_end nullsub_67 - - thumb_func_start sub_8101A28 -sub_8101A28: @ 8101A28 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_8101A28 - thumb_func_start sub_8101A44 sub_8101A44: @ 8101A44 push {r4,lr} diff --git a/include/ewram.h b/include/ewram.h index eacc02cab..9d3002615 100755 --- a/include/ewram.h +++ b/include/ewram.h @@ -24,7 +24,7 @@ extern u8 gSharedMem[]; #define ewram0arr ((u8 (*)[32])gSharedMem) #define eVoidSharedArr (void *)(ewram_addr + 0x0) #define eVoidSharedArr2 (u32)(ewram_addr) // ew(ram) -#define ewram0_8 ((struct UnkStruct2000000 *)(gSharedMem + 0x0)) +#define eSlotMachine ((struct SlotMachineEwramStruct *)(gSharedMem + 0x0)) #define ewram0_9(i) (u8 *)(ewram_addr + (i * 0x20)) #define ewram0_10 (*(struct UnknownPokenav0*)(gSharedMem + 0)) #define ewram0_11 (*(struct UnknownPokenav0_1*)(gSharedMem + 0)) diff --git a/ld_script.txt b/ld_script.txt index 6353fceec..5014ebb4b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -318,8 +318,9 @@ SECTIONS { src/scene/cute_sketch.o(.text); asm/cute_sketch.o(.text); src/field/decoration.o(.text); - asm/slot_machine.o(.text); src/field/slot_machine.o(.text); + asm/slot_machine.o(.text); + src/field/slot_machine.o(.text_a); asm/slot_machine.o(.text_8104D30) src/field/slot_machine.o(.text_b); src/scene/contest_painting.o(.text); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 89ec68b0a..3bff71f4f 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1,13 +1,24 @@ #include "global.h" +#include "main.h" #include "slot_machine.h" #include "decompress.h" #include "palette.h" #include "task.h" +#include "util.h" #include "ewram.h" -struct UnkStruct2000000 { - /*0x00*/ u8 filler00[61]; +struct SlotMachineEwramStruct { + /*0x00*/ u8 unk00; + /*0x01*/ u8 unk01; + /*0x02*/ u8 filler02[59]; /*0x3D*/ u8 unk3D; + /*0x3E*/ u8 filler3E[26]; + /*0x58*/ u16 win0h; + /*0x5a*/ u16 win0v; + /*0x5c*/ u16 winIn; + /*0x5e*/ u16 winOut; + /*0x60*/ u8 filler_60[4]; + /*0x64*/ void *unk64; }; struct UnkStruct1 { @@ -31,6 +42,114 @@ extern const u16 gUnknown_08E95A18[]; extern u16 gUnknown_08E95AB8[]; extern u16 gUnknown_08E95FB8[]; +void sub_81018B8(void); +void sub_8101954(void); +void sub_81019B0(u8 arg0, void *ptr); +void nullsub_67(u8 taskId); +void sub_8101A28(void); +void sub_8101BA4(void); +void sub_8101A8C(void); +void sub_8101AE0(void); +void sub_8101B04(void); +void sub_8101C84(void); +void sub_8101CA0(void); +void sub_8101CC0(void); +void sub_8101CD4(void); +void sub_8101CEC(void); +void sub_8101A44(void); + + +void PlaySlotMachine(u8 arg0, void *ptr) +{ + sub_81019B0(arg0, ptr); + SetMainCallback2(sub_81018B8); +} + +void sub_81018B8(void) +{ + switch (gMain.state) + { + case 0: + sub_8101A28(); + sub_8101BA4(); + gMain.state++; + break; + case 1: + sub_8101A8C(); + gMain.state++; + break; + case 2: + sub_8101AE0(); + sub_8101B04(); + gMain.state++; + break; + case 3: + sub_8101C84(); + gMain.state++; + break; + case 4: + sub_8101CA0(); + gMain.state++; + break; + case 5: + sub_8101CC0(); + gMain.state++; + break; + case 6: + sub_8101CD4(); + sub_8101CEC(); + sub_8101A44(); + SetMainCallback2(sub_8101954); + break; + } +} + +void sub_8101954(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_810196C(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + REG_WIN0H = eSlotMachine->win0h; + REG_WIN0V = eSlotMachine->win0v; + REG_WININ = eSlotMachine->winIn; + REG_WINOUT = eSlotMachine->winOut; +} + +void sub_81019B0(u8 arg0, void *ptr) +{ + struct Task *task = &gTasks[CreateTask(nullsub_67, 0xFF)]; + task->data[0] = arg0; + StoreWordInTwoHalfwords(task->data + 1, (intptr_t)ptr); +} + +void sub_81019EC(void) +{ + struct Task *task = &gTasks[FindTaskIdByFunc(nullsub_67)]; + eSlotMachine->unk01 = task->data[0]; + LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&eSlotMachine->unk64); +} + +void nullsub_67(u8 taskId) +{ +} + +void sub_8101A28(void) +{ + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); + REG_DISPCNT = 0; +} + +asm(".section .text_a"); + static void LoadSlotMachineWheelOverlay(void); void sub_8104CAC(u8 arg0) { @@ -39,7 +158,7 @@ void sub_8104CAC(u8 arg0) { sub_8104DA4(); - task = &gTasks[ewram0_8->unk3D]; + task = &gTasks[eSlotMachine->unk3D]; task->data[1] = arg0; i = 0; -- cgit v1.2.3 From f0957176bc96aef3bac673ac520ba55832957ba8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 20 Dec 2017 17:51:17 -0500 Subject: through sub_8101AE0 --- asm/slot_machine.s | 103 ----------------------------------------------- include/gba/macro.h | 30 ++++++++------ src/field/slot_machine.c | 22 ++++++++++ 3 files changed, 39 insertions(+), 116 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 4060e2541..c5dd8bd26 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,109 +5,6 @@ .text - thumb_func_start sub_8101A44 -sub_8101A44: @ 8101A44 - push {r4,lr} - ldr r0, _08101A7C @ =sub_810196C - bl SetVBlankCallback - ldr r3, _08101A80 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _08101A84 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08101A88 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101A7C: .4byte sub_810196C -_08101A80: .4byte 0x04000208 -_08101A84: .4byte 0x04000200 -_08101A88: .4byte REG_DISPSTAT - thumb_func_end sub_8101A44 - - thumb_func_start sub_8101A8C -sub_8101A8C: @ 8101A8C - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0x80 - lsls r3, 9 - mov r4, sp - movs r6, 0 - ldr r1, _08101AD8 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08101ADC @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08101AAA: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _08101AAA - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101AD8: .4byte 0x040000d4 -_08101ADC: .4byte 0x81000800 - thumb_func_end sub_8101A8C - - thumb_func_start sub_8101AE0 -sub_8101AE0: @ 8101AE0 - sub sp, 0x4 - movs r2, 0xE0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, _08101AFC @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08101B00 @ =0x81000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - add sp, 0x4 - bx lr - .align 2, 0 -_08101AFC: .4byte 0x040000d4 -_08101B00: .4byte 0x81000200 - thumb_func_end sub_8101AE0 - thumb_func_start sub_8101B04 sub_8101B04: @ 8101B04 push {r4,r5,lr} diff --git a/include/gba/macro.h b/include/gba/macro.h index a0edf2a49..945ba4885 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -104,25 +104,29 @@ } #define DmaClearLarge(dmaNum, dest, size, block, bit) \ -{ \ - u32 _size = size; \ - while (1) \ - { \ - DmaFill##bit(dmaNum, 0, dest, (block)); \ - dest += (block); \ - _size -= (block); \ - if (_size <= (block)) \ - { \ - DmaFill##bit(dmaNum, 0, dest, _size); \ - break; \ - } \ - } \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, _size); \ + break; \ + } \ + } \ } #define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) +# define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) +# define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) + #define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ { \ const void *_src = src; \ diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 3bff71f4f..60f8a58ff 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -148,6 +148,28 @@ void sub_8101A28(void) REG_DISPCNT = 0; } +void sub_8101A44(void) +{ + u16 imeBak; + SetVBlankCallback(sub_810196C); + imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON; +} + +void sub_8101A8C(void) +{ + DmaClearLarge16(3, (u16 *)(BG_VRAM), BG_VRAM_SIZE, 0x1000); +} + +void sub_8101AE0(void) +{ + DmaClear16(3, (u16 *)OAM, OAM_SIZE); +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 9c9c31b1e15014d7cfeb3856717d9b29715d46a5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 20 Dec 2017 20:09:48 -0500 Subject: through sub_8101D8C --- asm/slot_machine.s | 339 ----------------------------------------------- include/slot_machine.h | 31 +++++ include/sprite.h | 2 + src/field/slot_machine.c | 162 +++++++++++++++++++--- 4 files changed, 178 insertions(+), 356 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index c5dd8bd26..a289ec573 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,345 +5,6 @@ .text - thumb_func_start sub_8101B04 -sub_8101B04: @ 8101B04 - push {r4,r5,lr} - ldr r5, _08101B70 @ =REG_BG0CNT - movs r1, 0 - strh r1, [r5] - ldr r2, _08101B74 @ =REG_BG1CNT - strh r1, [r2] - ldr r3, _08101B78 @ =REG_BG2CNT - strh r1, [r3] - ldr r4, _08101B7C @ =REG_BG3CNT - strh r1, [r4] - ldr r0, _08101B80 @ =REG_BG0HOFS - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _08101B84 @ =0x00001f08 - adds r0, r1, 0 - strh r0, [r5] - ldr r1, _08101B88 @ =0x00001c01 - adds r0, r1, 0 - strh r0, [r2] - ldr r2, _08101B8C @ =0x00001d02 - adds r0, r2, 0 - strh r0, [r3] - ldr r1, _08101B90 @ =0x00001e02 - adds r0, r1, 0 - strh r0, [r4] - ldr r0, _08101B94 @ =REG_WININ - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _08101B98 @ =REG_BLDCNT - ldr r2, _08101B9C @ =0x00001048 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _08101BA0 @ =0x00000809 - adds r0, r2, 0 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08101B70: .4byte REG_BG0CNT -_08101B74: .4byte REG_BG1CNT -_08101B78: .4byte REG_BG2CNT -_08101B7C: .4byte REG_BG3CNT -_08101B80: .4byte REG_BG0HOFS -_08101B84: .4byte 0x00001f08 -_08101B88: .4byte 0x00001c01 -_08101B8C: .4byte 0x00001d02 -_08101B90: .4byte 0x00001e02 -_08101B94: .4byte REG_WININ -_08101B98: .4byte REG_BLDCNT -_08101B9C: .4byte 0x00001048 -_08101BA0: .4byte 0x00000809 - thumb_func_end sub_8101B04 - - thumb_func_start sub_8101BA4 -sub_8101BA4: @ 8101BA4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - bl sub_81019EC - ldr r5, _08101C74 @ =gSharedMem - movs r4, 0 - strb r4, [r5] - strb r4, [r5, 0x2] - bl Random - movs r1, 0x1 - ands r1, r0 - strb r1, [r5, 0x3] - strb r4, [r5, 0x4] - movs r0, 0 - strh r4, [r5, 0x8] - strb r0, [r5, 0xA] - strb r0, [r5, 0xB] - ldr r0, _08101C78 @ =gSaveBlock1 - ldr r1, _08101C7C @ =0x00000494 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0xC] - strh r4, [r5, 0xE] - strh r4, [r5, 0x10] - strh r4, [r5, 0x12] - strh r4, [r5, 0x18] - movs r0, 0x8 - strh r0, [r5, 0x1A] - adds r1, r5, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r5, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl GetCurrentMapMusic - adds r1, r5, 0 - adds r1, 0x60 - strh r0, [r1] - movs r7, 0 - adds r6, r5, 0 - ldr r2, _08101C80 @ =gUnknown_083ECCF8 - mov r9, r2 - movs r0, 0x1C - adds r0, r6 - mov r8, r0 -_08101C14: - lsls r5, r7, 1 - adds r0, r6, 0 - adds r0, 0x22 - adds r0, r5, r0 - movs r1, 0 - strh r1, [r0] - adds r4, r6, 0 - adds r4, 0x28 - adds r4, r5, r4 - ldrb r0, [r6, 0x3] - lsls r0, 1 - lsls r1, r7, 2 - adds r0, r1 - add r0, r9 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x15 - bl __modsi3 - strh r0, [r4] - add r5, r8 - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - movs r2, 0xFC - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r5] - movs r1, 0 - ldrsh r0, [r5, r1] - adds r1, r2, 0 - bl __modsi3 - strh r0, [r5] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08101C14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101C74: .4byte gSharedMem -_08101C78: .4byte gSaveBlock1 -_08101C7C: .4byte 0x00000494 -_08101C80: .4byte gUnknown_083ECCF8 - thumb_func_end sub_8101BA4 - - thumb_func_start sub_8101C84 -sub_8101C84: @ 8101C84 - push {r4,lr} - ldr r4, _08101C9C @ =gWindowConfig_81E7128 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101C9C: .4byte gWindowConfig_81E7128 - thumb_func_end sub_8101C84 - - thumb_func_start sub_8101CA0 -sub_8101CA0: @ 8101CA0 - push {lr} - bl ResetPaletteFade - bl ResetSpriteData - ldr r1, _08101CBC @ =gOamLimit - movs r0, 0x80 - strb r0, [r1] - bl FreeAllSpritePalettes - bl ResetTasks - pop {r0} - bx r0 - .align 2, 0 -_08101CBC: .4byte gOamLimit - thumb_func_end sub_8101CA0 - - thumb_func_start sub_8101CC0 -sub_8101CC0: @ 8101CC0 - push {lr} - bl sub_8106448 - bl sub_81064B8 - bl sub_81063C0 - pop {r0} - bx r0 - thumb_func_end sub_8101CC0 - - thumb_func_start sub_8101CD4 -sub_8101CD4: @ 8101CD4 - push {lr} - bl sub_8104EA8 - bl sub_8104F8C - bl sub_8103DC8 - bl sub_81050C4 - pop {r0} - bx r0 - thumb_func_end sub_8101CD4 - - thumb_func_start sub_8101CEC -sub_8101CEC: @ 8101CEC - push {lr} - bl sub_8104048 - bl sub_8102DA8 - bl sub_8104C5C - bl sub_8101D04 - pop {r0} - bx r0 - thumb_func_end sub_8101CEC - - thumb_func_start sub_8101D04 -sub_8101D04: @ 8101D04 - push {r4,lr} - ldr r4, _08101D20 @ =sub_8101D24 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101D20: .4byte sub_8101D24 - thumb_func_end sub_8101D04 - - thumb_func_start sub_8101D24 -sub_8101D24: @ 8101D24 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r7, _08101D50 @ =gUnknown_083ECAAC - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r6, _08101D54 @ =gSharedMem - ldr r5, _08101D58 @ =gTasks -_08101D36: - ldrb r0, [r6] - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r4, r5 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08101D36 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101D50: .4byte gUnknown_083ECAAC -_08101D54: .4byte gSharedMem -_08101D58: .4byte gTasks - thumb_func_end sub_8101D24 - - thumb_func_start sub_8101D5C -sub_8101D5C: @ 8101D5C - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r4, _08101D88 @ =gSharedMem - ldrb r0, [r4, 0x2] - bl sub_810423C - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08101D88: .4byte gSharedMem - thumb_func_end sub_8101D5C - - thumb_func_start sub_8101D8C -sub_8101D8C: @ 8101D8C - push {lr} - ldr r0, _08101DA8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08101DA2 - ldr r1, _08101DAC @ =gSharedMem - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08101DA2: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08101DA8: .4byte gPaletteFade -_08101DAC: .4byte gSharedMem - thumb_func_end sub_8101D8C - thumb_func_start sub_8101DB0 sub_8101DB0: @ 8101DB0 push {lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index c39aa7ca8..60b1f177a 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,37 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H +struct SlotMachineEwramStruct { + /*0x00*/ u8 unk00; + /*0x01*/ u8 unk01; + /*0x02*/ u8 unk02; + /*0x03*/ u8 unk03; + /*0x04*/ u8 unk04; + /*0x05*/ u8 filler05[3]; + /*0x08*/ u16 unk08; + /*0x0A*/ u8 unk0A; + /*0x0B*/ u8 unk0B; + /*0x0C*/ u16 coins; + /*0x0E*/ u16 unk0E; + /*0x10*/ u16 unk10; + /*0x12*/ u16 unk12; + /*0x14*/ u8 filler14[4]; + /*0x18*/ u16 unk18; + /*0x1A*/ u16 unk1A; + /*0x1C*/ s16 unk1C[3]; + /*0x22*/ u16 unk22[3]; + /*0x28*/ s16 unk28[3]; + /*0x2E*/ u8 filler2E[15]; + /*0x3D*/ u8 unk3D; + /*0x3E*/ u8 filler3E[26]; + /*0x58*/ u16 win0h; + /*0x5a*/ u16 win0v; + /*0x5c*/ u16 winIn; + /*0x5e*/ u16 winOut; + /*0x60*/ u16 backupMapMusic; + /*0x64*/ void *unk64; +}; + void PlaySlotMachine(u8, void *); void sub_8104DA4(void); u8 sub_8105BB4(u8, u8, s16); diff --git a/include/sprite.h b/include/sprite.h index a87260ec0..7b6dd2bef 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -229,6 +229,8 @@ extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; extern s16 gSpriteCoordOffsetX; extern s16 gSpriteCoordOffsetY; +extern u8 gOamLimit; + extern struct Sprite gSprites[]; void ResetSpriteData(void); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 60f8a58ff..cb1326151 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1,26 +1,16 @@ #include "global.h" +#include "random.h" +#include "sound.h" #include "main.h" #include "slot_machine.h" #include "decompress.h" #include "palette.h" #include "task.h" #include "util.h" +#include "text.h" +#include "menu.h" #include "ewram.h" -struct SlotMachineEwramStruct { - /*0x00*/ u8 unk00; - /*0x01*/ u8 unk01; - /*0x02*/ u8 filler02[59]; - /*0x3D*/ u8 unk3D; - /*0x3E*/ u8 filler3E[26]; - /*0x58*/ u16 win0h; - /*0x5a*/ u16 win0v; - /*0x5c*/ u16 winIn; - /*0x5e*/ u16 winOut; - /*0x60*/ u8 filler_60[4]; - /*0x64*/ void *unk64; -}; - struct UnkStruct1 { /*0x00*/ u8 unk00; /*0x01*/ u8 unk01; @@ -47,17 +37,30 @@ void sub_8101954(void); void sub_81019B0(u8 arg0, void *ptr); void nullsub_67(u8 taskId); void sub_8101A28(void); -void sub_8101BA4(void); +void sub_8101A44(void); void sub_8101A8C(void); void sub_8101AE0(void); void sub_8101B04(void); +void sub_8101BA4(void); void sub_8101C84(void); void sub_8101CA0(void); void sub_8101CC0(void); void sub_8101CD4(void); void sub_8101CEC(void); -void sub_8101A44(void); - +void sub_8101D04(void); +void sub_8101D24(u8 taskId); + +void sub_8102DA8(void); +void sub_8103DC8(void); +void sub_8104048(void); +void sub_810423C(u8 a0); +void sub_8104C5C(void); +void sub_8104EA8(void); +void sub_8104F8C(void); +void sub_81050C4(void); +void sub_8106448(void); +void sub_81064B8(void); +void sub_81063C0(void); void PlaySlotMachine(u8 arg0, void *ptr) { @@ -170,6 +173,131 @@ void sub_8101AE0(void) DmaClear16(3, (u16 *)OAM, OAM_SIZE); } +void sub_8101B04(void) +{ + REG_BG0CNT = 0; + REG_BG1CNT = 0; + REG_BG2CNT = 0; + REG_BG3CNT = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_SCREENBASE(31) | BGCNT_CHARBASE(2); + REG_BG1CNT = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(28); + REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(29); + REG_BG3CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(30); + REG_WININ = 0x3f; + REG_WINOUT = 0x3f; + REG_BLDCNT = BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_OBJ; + REG_BLDALPHA = 0x809; +} + +extern const s16 gUnknown_083ECCF8[3][2]; + +void sub_8101BA4(void) +{ + u8 i; + + sub_81019EC(); + eSlotMachine->unk00 = 0; + eSlotMachine->unk02 = 0; + eSlotMachine->unk03 = Random() & 1; + eSlotMachine->unk04 = 0; + eSlotMachine->unk08 = 0; + eSlotMachine->unk0A = 0; + eSlotMachine->unk0B = 0; + eSlotMachine->coins = gSaveBlock1.coins; + eSlotMachine->unk0E = 0; + eSlotMachine->unk10 = 0; + eSlotMachine->unk12 = 0; + eSlotMachine->unk18 = 0; + eSlotMachine->unk1A = 8; + eSlotMachine->win0h = 0xf0; + eSlotMachine->win0v = 0xa0; + eSlotMachine->winIn = 0x3f; + eSlotMachine->winOut = 0x3f; + eSlotMachine->backupMapMusic = GetCurrentMapMusic(); + for (i = 0; i < 3; i++) + { + eSlotMachine->unk22[i] = 0; + eSlotMachine->unk28[i] = gUnknown_083ECCF8[i][eSlotMachine->unk03] % 21; + eSlotMachine->unk1C[i] = 0x1f8 - eSlotMachine->unk28[i] * 24; + eSlotMachine->unk1C[i] %= 0x1f8; + } +} + +void sub_8101C84(void) +{ + SetUpWindowConfig(&gWindowConfig_81E7128); + InitMenuWindow(&gWindowConfig_81E7128); +} + +void sub_8101CA0(void) +{ + ResetPaletteFade(); + ResetSpriteData(); + gOamLimit = 128; + FreeAllSpritePalettes(); + ResetTasks(); +} + +void sub_8101CC0(void) +{ + sub_8106448(); + sub_81064B8(); + sub_81063C0(); +} + +void sub_8101CD4(void) +{ + sub_8104EA8(); + sub_8104F8C(); + sub_8103DC8(); + sub_81050C4(); +} + +void sub_8101CEC(void) +{ + sub_8104048(); + sub_8102DA8(); + sub_8104C5C(); + sub_8101D04(); +} + +extern bool8 (*const gUnknown_083ECAAC[])(struct Task *task); + +void sub_8101D04(void) +{ + sub_8101D24(CreateTask(sub_8101D24, 0)); +} + +void sub_8101D24(u8 taskId) +{ + while (gUnknown_083ECAAC[eSlotMachine->unk00](gTasks + taskId)); +} + +bool8 sub_8101D5C(struct Task *task) +{ + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + sub_810423C(eSlotMachine->unk02); + eSlotMachine->unk00++; + return FALSE; +} + +bool8 sub_8101D8C(struct Task *task) +{ + if (!gPaletteFade.active) + { + eSlotMachine->unk00++; + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 3f6124709ae7843bcc82183c387ce03290c28c36 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 08:42:29 -0500 Subject: through sub_8101E3C --- asm/slot_machine.s | 204 ----------------------------------------------- include/slot_machine.h | 6 +- src/field/slot_machine.c | 104 ++++++++++++++++++++++-- 3 files changed, 101 insertions(+), 213 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index a289ec573..9b3926f85 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,210 +5,6 @@ .text - thumb_func_start sub_8101DB0 -sub_8101DB0: @ 8101DB0 - push {lr} - ldr r2, _08101DD8 @ =gSharedMem - movs r0, 0 - strh r0, [r2, 0xE] - strh r0, [r2, 0x12] - strh r0, [r2, 0x18] - ldrb r1, [r2, 0x4] - movs r0, 0xC0 - ands r0, r1 - strb r0, [r2, 0x4] - movs r0, 0x4 - strb r0, [r2] - movs r1, 0xC - ldrsh r0, [r2, r1] - cmp r0, 0 - bgt _08101DDC - movs r0, 0x19 - strb r0, [r2] - b _08101DEC - .align 2, 0 -_08101DD8: .4byte gSharedMem -_08101DDC: - ldrb r0, [r2, 0xA] - cmp r0, 0 - beq _08101DEC - movs r0, 0x3 - strb r0, [r2] - movs r0, 0x4 - bl sub_8104CAC -_08101DEC: - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8101DB0 - - thumb_func_start sub_8101DF4 -sub_8101DF4: @ 8101DF4 - push {lr} - bl sub_8104E18 - lsls r0, 24 - cmp r0, 0 - beq _08101E06 - ldr r1, _08101E0C @ =gSharedMem - movs r0, 0x4 - strb r0, [r1] -_08101E06: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08101E0C: .4byte gSharedMem - thumb_func_end sub_8101DF4 - - thumb_func_start sub_8101E10 -sub_8101E10: @ 8101E10 - push {lr} - movs r0, 0 - bl sub_8104CAC - ldr r2, _08101E34 @ =gSharedMem - movs r0, 0x5 - strb r0, [r2] - movs r0, 0xC - ldrsh r1, [r2, r0] - ldr r0, _08101E38 @ =0x0000270e - cmp r1, r0 - ble _08101E2C - movs r0, 0x17 - strb r0, [r2] -_08101E2C: - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08101E34: .4byte gSharedMem -_08101E38: .4byte 0x0000270e - thumb_func_end sub_8101E10 - - thumb_func_start sub_8101E3C -sub_8101E3C: @ 8101E3C - push {r4,lr} - ldr r0, _08101E58 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08101E60 - movs r0, 0 - bl sub_8104AB8 - ldr r1, _08101E5C @ =gSharedMem - movs r0, 0x8 - strb r0, [r1] - b _08101F1A - .align 2, 0 -_08101E58: .4byte gMain -_08101E5C: .4byte gSharedMem -_08101E60: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08101EC2 - ldr r2, _08101EB8 @ =gSharedMem - movs r1, 0xC - ldrsh r0, [r2, r1] - subs r0, 0x3 - movs r3, 0x12 - ldrsh r1, [r2, r3] - adds r0, r1 - cmp r0, 0 - blt _08101EBC - ldrh r4, [r2, 0x12] - adds r0, r1, 0 - cmp r0, 0x2 - bgt _08101E9C -_08101E84: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8103D50 - lsls r0, r4, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08101E84 -_08101E9C: - ldr r1, _08101EB8 @ =gSharedMem - ldrh r0, [r1, 0xC] - subs r0, 0x3 - ldrh r3, [r1, 0x12] - adds r0, r3 - strh r0, [r1, 0xC] - movs r0, 0x3 - strh r0, [r1, 0x12] - movs r0, 0x9 - strb r0, [r1] - movs r0, 0x5F - bl PlaySE - b _08101F1A - .align 2, 0 -_08101EB8: .4byte gSharedMem -_08101EBC: - movs r0, 0x6 - strb r0, [r2] - b _08101F1A -_08101EC2: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08101EEC - ldr r4, _08101F24 @ =gSharedMem - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08101EEC - movs r0, 0x5F - bl PlaySE - ldrb r0, [r4, 0x12] - bl sub_8103D50 - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] -_08101EEC: - ldr r0, _08101F24 @ =gSharedMem - movs r2, 0x12 - ldrsh r1, [r0, r2] - ldr r2, _08101F28 @ =gMain - adds r3, r0, 0 - cmp r1, 0x2 - bgt _08101F08 - cmp r1, 0 - beq _08101F0C - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08101F0C -_08101F08: - movs r0, 0x9 - strb r0, [r3] -_08101F0C: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08101F1A - movs r0, 0x15 - strb r0, [r3] -_08101F1A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08101F24: .4byte gSharedMem -_08101F28: .4byte gMain - thumb_func_end sub_8101E3C - thumb_func_start sub_8101F2C sub_8101F2C: @ 8101F2C push {r4,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 60b1f177a..421946103 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -2,7 +2,7 @@ #define GUARD_SLOT_MACHINE_H struct SlotMachineEwramStruct { - /*0x00*/ u8 unk00; + /*0x00*/ u8 state; /*0x01*/ u8 unk01; /*0x02*/ u8 unk02; /*0x03*/ u8 unk03; @@ -11,10 +11,10 @@ struct SlotMachineEwramStruct { /*0x08*/ u16 unk08; /*0x0A*/ u8 unk0A; /*0x0B*/ u8 unk0B; - /*0x0C*/ u16 coins; + /*0x0C*/ s16 coins; /*0x0E*/ u16 unk0E; /*0x10*/ u16 unk10; - /*0x12*/ u16 unk12; + /*0x12*/ s16 bet; /*0x14*/ u8 filler14[4]; /*0x18*/ u16 unk18; /*0x1A*/ u16 unk1A; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index cb1326151..16cfea7b5 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/songs.h" #include "random.h" #include "sound.h" #include "main.h" @@ -51,16 +52,20 @@ void sub_8101D04(void); void sub_8101D24(u8 taskId); void sub_8102DA8(void); +void sub_8103D50(u8 a0); void sub_8103DC8(void); void sub_8104048(void); void sub_810423C(u8 a0); +void sub_8104AB8(u8 a0); void sub_8104C5C(void); +void sub_8104CAC(u8 arg0); +bool8 sub_8104E18(void); void sub_8104EA8(void); void sub_8104F8C(void); void sub_81050C4(void); +void sub_81063C0(void); void sub_8106448(void); void sub_81064B8(void); -void sub_81063C0(void); void PlaySlotMachine(u8 arg0, void *ptr) { @@ -204,7 +209,7 @@ void sub_8101BA4(void) u8 i; sub_81019EC(); - eSlotMachine->unk00 = 0; + eSlotMachine->state = 0; eSlotMachine->unk02 = 0; eSlotMachine->unk03 = Random() & 1; eSlotMachine->unk04 = 0; @@ -214,7 +219,7 @@ void sub_8101BA4(void) eSlotMachine->coins = gSaveBlock1.coins; eSlotMachine->unk0E = 0; eSlotMachine->unk10 = 0; - eSlotMachine->unk12 = 0; + eSlotMachine->bet = 0; eSlotMachine->unk18 = 0; eSlotMachine->unk1A = 8; eSlotMachine->win0h = 0xf0; @@ -278,14 +283,14 @@ void sub_8101D04(void) void sub_8101D24(u8 taskId) { - while (gUnknown_083ECAAC[eSlotMachine->unk00](gTasks + taskId)); + while (gUnknown_083ECAAC[eSlotMachine->state](gTasks + taskId)); } bool8 sub_8101D5C(struct Task *task) { BeginNormalPaletteFade(-1, 0, 16, 0, 0); sub_810423C(eSlotMachine->unk02); - eSlotMachine->unk00++; + eSlotMachine->state++; return FALSE; } @@ -293,7 +298,94 @@ bool8 sub_8101D8C(struct Task *task) { if (!gPaletteFade.active) { - eSlotMachine->unk00++; + eSlotMachine->state++; + } + return FALSE; +} + +bool8 sub_8101DB0(struct Task *task) +{ + eSlotMachine->unk0E = 0; + eSlotMachine->bet = 0; + eSlotMachine->unk18 = 0; + eSlotMachine->unk04 &= 0xc0; + eSlotMachine->state = 4; + if (eSlotMachine->coins <= 0) + { + eSlotMachine->state = 25; + } + else if (eSlotMachine->unk0A) + { + eSlotMachine->state = 3; + sub_8104CAC(4); + } + return TRUE; +} + +bool8 sub_8101DF4(struct Task *task) +{ + if (sub_8104E18()) + { + eSlotMachine->state = 4; + } + return FALSE; +} + +bool8 sub_8101E10(struct Task *task) +{ + sub_8104CAC(0); + eSlotMachine->state = 5; + if (eSlotMachine->coins >= 9999) + { + eSlotMachine->state = 23; + } + return TRUE; +} + +bool8 sub_8101E3C(struct Task *task) +{ + s16 i; + + if (gMain.newKeys & SELECT_BUTTON) + { + sub_8104AB8(0); + eSlotMachine->state = 8; + } + else if (gMain.newKeys & R_BUTTON) + { + if (eSlotMachine->coins - (3 - eSlotMachine->bet) >= 0) + { + for (i = eSlotMachine->bet; i < 3; i++) + { + sub_8103D50(i); + } + eSlotMachine->coins -= (3 - eSlotMachine->bet); + eSlotMachine->bet = 3; + eSlotMachine->state = 9; + PlaySE(SE_REGI); + } + else + { + eSlotMachine->state = 6; + } + } + else + { + if (gMain.newKeys & DPAD_DOWN && eSlotMachine->coins != 0) + { + PlaySE(SE_REGI); + sub_8103D50(eSlotMachine->bet); + eSlotMachine->coins--; + eSlotMachine->bet++; + } + if (eSlotMachine->bet >= 3 || (eSlotMachine->bet != 0 && gMain.newKeys & A_BUTTON)) + { + eSlotMachine->state = 9; + } + if (gMain.newKeys & B_BUTTON) + { + eSlotMachine->state = 21; + } } return FALSE; } -- cgit v1.2.3 From 994bf583aa4d50b95f7b43179206639a81aa68ea Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 08:46:32 -0500 Subject: sub_8101F44 --- asm/slot_machine.s | 30 ------------------------------ src/field/slot_machine.c | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 9b3926f85..2eb52583a 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,36 +5,6 @@ .text - thumb_func_start sub_8101F2C -sub_8101F2C: @ 8101F2C - push {r4,lr} - adds r4, r0, 0 - bl MenuDisplayMessageBox - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101F2C - - thumb_func_start sub_8101F44 -sub_8101F44: @ 8101F44 - push {lr} - ldr r0, _08101F58 @ =gOtherText_DontHaveThreeCoins - bl sub_8101F2C - ldr r1, _08101F5C @ =gSharedMem - movs r0, 0x7 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08101F58: .4byte gOtherText_DontHaveThreeCoins -_08101F5C: .4byte gSharedMem - thumb_func_end sub_8101F44 - thumb_func_start sub_8101F60 sub_8101F60: @ 8101F60 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 16cfea7b5..4cf93d5d6 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1,5 +1,6 @@ #include "global.h" #include "constants/songs.h" +#include "strings2.h" #include "random.h" #include "sound.h" #include "main.h" @@ -390,6 +391,19 @@ bool8 sub_8101E3C(struct Task *task) return FALSE; } +void sub_8101F2C(const u8 *str) +{ + MenuDisplayMessageBox(); + MenuPrint(str, 2, 15); +} + +bool8 sub_8101F44(struct Task *task) +{ + sub_8101F2C(gOtherText_DontHaveThreeCoins); + eSlotMachine->state = 7; + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 2fe7a0e1542fa24731d233ed3b9e97ce4efa9c31 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 16:32:23 -0500 Subject: through sub_8102090 --- asm/slot_machine.s | 195 ----------------------------------------------- include/slot_machine.h | 2 +- src/field/slot_machine.c | 173 ++++++++++++++++++++++++++++++++--------- 3 files changed, 139 insertions(+), 231 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 2eb52583a..75202fc81 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,201 +5,6 @@ .text - thumb_func_start sub_8101F60 -sub_8101F60: @ 8101F60 - push {lr} - ldr r0, _08101F80 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08101F78 - bl MenuZeroFillScreen - ldr r1, _08101F84 @ =gSharedMem - movs r0, 0x5 - strb r0, [r1] -_08101F78: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08101F80: .4byte gMain -_08101F84: .4byte gSharedMem - thumb_func_end sub_8101F60 - - thumb_func_start sub_8101F88 -sub_8101F88: @ 8101F88 - push {lr} - bl sub_8104AEC - lsls r0, 24 - cmp r0, 0 - beq _08101F9A - ldr r1, _08101FA0 @ =gSharedMem - movs r0, 0x5 - strb r0, [r1] -_08101F9A: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08101FA0: .4byte gSharedMem - thumb_func_end sub_8101F88 - - thumb_func_start sub_8101FA4 -sub_8101FA4: @ 8101FA4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8102484 - bl sub_8104DA4 - movs r0, 0 - bl sub_8102DEC - movs r0, 0x1 - bl sub_8102DEC - movs r0, 0x2 - bl sub_8102DEC - movs r0, 0 - strh r0, [r4, 0x8] - ldr r4, _08101FDC @ =gSharedMem - ldrb r1, [r4, 0x4] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08101FE0 - bl sub_810430C - movs r0, 0xA - b _08101FE8 - .align 2, 0 -_08101FDC: .4byte gSharedMem -_08101FE0: - movs r0, 0x1 - bl sub_8104CAC - movs r0, 0xB -_08101FE8: - strb r0, [r4] - ldr r4, _08102004 @ =gSharedMem - movs r0, 0x8 - strh r0, [r4, 0x1A] - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _08101FFC - bl dp15_jump_random_unknown - strh r0, [r4, 0x1A] -_08101FFC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102004: .4byte gSharedMem - thumb_func_end sub_8101FA4 - - thumb_func_start sub_8102008 -sub_8102008: @ 8102008 - push {lr} - bl sub_810432C - lsls r0, 24 - cmp r0, 0 - beq _08102028 - movs r0, 0x1 - bl sub_8104CAC - ldr r1, _08102030 @ =gSharedMem - ldrb r2, [r1, 0x4] - movs r0, 0xDF - ands r0, r2 - strb r0, [r1, 0x4] - movs r0, 0xB - strb r0, [r1] -_08102028: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08102030: .4byte gSharedMem - thumb_func_end sub_8102008 - - thumb_func_start sub_8102034 -sub_8102034: @ 8102034 - push {lr} - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1D - ble _0810204E - bl sub_81024F0 - ldr r1, _08102054 @ =gSharedMem - movs r0, 0xC - strb r0, [r1] -_0810204E: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08102054: .4byte gSharedMem - thumb_func_end sub_8102034 - - thumb_func_start sub_8102058 -sub_8102058: @ 8102058 - push {r4,lr} - ldr r0, _08102088 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810207E - movs r0, 0x18 - bl PlaySE - ldr r4, _0810208C @ =gSharedMem - ldrb r0, [r4, 0x18] - bl sub_8102E1C - ldrb r0, [r4, 0x18] - bl sub_8103C14 - movs r0, 0xD - strb r0, [r4] -_0810207E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102088: .4byte gMain -_0810208C: .4byte gSharedMem - thumb_func_end sub_8102058 - - thumb_func_start sub_8102090 -sub_8102090: @ 8102090 - push {r4,lr} - ldr r4, _081020BC @ =gSharedMem - ldrb r0, [r4, 0x18] - bl sub_8102E40 - lsls r0, 24 - cmp r0, 0 - bne _081020C0 - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - movs r1, 0xC - strb r1, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _081020B6 - movs r0, 0xE - strb r0, [r4] -_081020B6: - movs r0, 0x1 - b _081020C2 - .align 2, 0 -_081020BC: .4byte gSharedMem -_081020C0: - movs r0, 0 -_081020C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8102090 - thumb_func_start sub_81020C8 sub_81020C8: @ 81020C8 push {r4,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 421946103..057713a1b 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -16,7 +16,7 @@ struct SlotMachineEwramStruct { /*0x10*/ u16 unk10; /*0x12*/ s16 bet; /*0x14*/ u8 filler14[4]; - /*0x18*/ u16 unk18; + /*0x18*/ s16 unk18; /*0x1A*/ u16 unk1A; /*0x1C*/ s16 unk1C[3]; /*0x22*/ u16 unk22[3]; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 4cf93d5d6..94dd5b08f 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -34,30 +34,39 @@ extern const u16 gUnknown_08E95A18[]; extern u16 gUnknown_08E95AB8[]; extern u16 gUnknown_08E95FB8[]; -void sub_81018B8(void); -void sub_8101954(void); -void sub_81019B0(u8 arg0, void *ptr); -void nullsub_67(u8 taskId); -void sub_8101A28(void); -void sub_8101A44(void); -void sub_8101A8C(void); -void sub_8101AE0(void); -void sub_8101B04(void); -void sub_8101BA4(void); -void sub_8101C84(void); -void sub_8101CA0(void); -void sub_8101CC0(void); -void sub_8101CD4(void); -void sub_8101CEC(void); -void sub_8101D04(void); -void sub_8101D24(u8 taskId); - +static void sub_81018B8(void); +static void sub_8101954(void); +static void sub_81019B0(u8 arg0, void *ptr); +static void nullsub_67(u8 taskId); +static void sub_8101A28(void); +static void sub_8101A44(void); +static void sub_8101A8C(void); +static void sub_8101AE0(void); +static void sub_8101B04(void); +static void sub_8101BA4(void); +static void sub_8101C84(void); +static void sub_8101CA0(void); +static void sub_8101CC0(void); +static void sub_8101CD4(void); +static void sub_8101CEC(void); +static void sub_8101D04(void); +static void sub_8101D24(u8 taskId); + +void sub_8102484(void); +void sub_81024F0(void); void sub_8102DA8(void); +void sub_8102DEC(u8 a0); +void sub_8102E1C(u8 a0); +bool8 sub_8102E40(u8 a0); +void sub_8103C14(u8 a0); void sub_8103D50(u8 a0); void sub_8103DC8(void); void sub_8104048(void); void sub_810423C(u8 a0); +void sub_810430C(void); +bool8 sub_810432C(void); void sub_8104AB8(u8 a0); +bool8 sub_8104AEC(void); void sub_8104C5C(void); void sub_8104CAC(u8 arg0); bool8 sub_8104E18(void); @@ -67,6 +76,7 @@ void sub_81050C4(void); void sub_81063C0(void); void sub_8106448(void); void sub_81064B8(void); +u16 dp15_jump_random_unknown(void); void PlaySlotMachine(u8 arg0, void *ptr) { @@ -74,7 +84,7 @@ void PlaySlotMachine(u8 arg0, void *ptr) SetMainCallback2(sub_81018B8); } -void sub_81018B8(void) +static void sub_81018B8(void) { switch (gMain.state) { @@ -113,7 +123,7 @@ void sub_81018B8(void) } } -void sub_8101954(void) +static void sub_8101954(void) { RunTasks(); AnimateSprites(); @@ -132,7 +142,7 @@ void sub_810196C(void) REG_WINOUT = eSlotMachine->winOut; } -void sub_81019B0(u8 arg0, void *ptr) +static void sub_81019B0(u8 arg0, void *ptr) { struct Task *task = &gTasks[CreateTask(nullsub_67, 0xFF)]; task->data[0] = arg0; @@ -146,18 +156,18 @@ void sub_81019EC(void) LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&eSlotMachine->unk64); } -void nullsub_67(u8 taskId) +static void nullsub_67(u8 taskId) { } -void sub_8101A28(void) +static void sub_8101A28(void) { SetVBlankCallback(NULL); SetHBlankCallback(NULL); REG_DISPCNT = 0; } -void sub_8101A44(void) +static void sub_8101A44(void) { u16 imeBak; SetVBlankCallback(sub_810196C); @@ -169,17 +179,17 @@ void sub_8101A44(void) REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON; } -void sub_8101A8C(void) +static void sub_8101A8C(void) { DmaClearLarge16(3, (u16 *)(BG_VRAM), BG_VRAM_SIZE, 0x1000); } -void sub_8101AE0(void) +static void sub_8101AE0(void) { DmaClear16(3, (u16 *)OAM, OAM_SIZE); } -void sub_8101B04(void) +static void sub_8101B04(void) { REG_BG0CNT = 0; REG_BG1CNT = 0; @@ -205,7 +215,7 @@ void sub_8101B04(void) extern const s16 gUnknown_083ECCF8[3][2]; -void sub_8101BA4(void) +static void sub_8101BA4(void) { u8 i; @@ -237,13 +247,13 @@ void sub_8101BA4(void) } } -void sub_8101C84(void) +static void sub_8101C84(void) { SetUpWindowConfig(&gWindowConfig_81E7128); InitMenuWindow(&gWindowConfig_81E7128); } -void sub_8101CA0(void) +static void sub_8101CA0(void) { ResetPaletteFade(); ResetSpriteData(); @@ -252,14 +262,14 @@ void sub_8101CA0(void) ResetTasks(); } -void sub_8101CC0(void) +static void sub_8101CC0(void) { sub_8106448(); sub_81064B8(); sub_81063C0(); } -void sub_8101CD4(void) +static void sub_8101CD4(void) { sub_8104EA8(); sub_8104F8C(); @@ -267,7 +277,7 @@ void sub_8101CD4(void) sub_81050C4(); } -void sub_8101CEC(void) +static void sub_8101CEC(void) { sub_8104048(); sub_8102DA8(); @@ -277,12 +287,12 @@ void sub_8101CEC(void) extern bool8 (*const gUnknown_083ECAAC[])(struct Task *task); -void sub_8101D04(void) +static void sub_8101D04(void) { sub_8101D24(CreateTask(sub_8101D24, 0)); } -void sub_8101D24(u8 taskId) +static void sub_8101D24(u8 taskId) { while (gUnknown_083ECAAC[eSlotMachine->state](gTasks + taskId)); } @@ -404,6 +414,99 @@ bool8 sub_8101F44(struct Task *task) return FALSE; } +bool8 sub_8101F60(struct Task *task) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + MenuZeroFillScreen(); + eSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_8101F88(struct Task *task) +{ + if (sub_8104AEC()) + { + eSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_8101FA4(struct Task *task) +{ + sub_8102484(); + sub_8104DA4(); + sub_8102DEC(0); + sub_8102DEC(1); + sub_8102DEC(2); + task->data[0] = 0; + if (eSlotMachine->unk04 & 0x20) + { + sub_810430C(); + eSlotMachine->state = 10; + } + else + { + sub_8104CAC(1); + eSlotMachine->state = 11; + } + eSlotMachine->unk1A = 8; + if (eSlotMachine->unk0A) + { + eSlotMachine->unk1A = dp15_jump_random_unknown(); + } + return FALSE; +} + +bool8 sub_8102008(struct Task *task) +{ + if (sub_810432C()) + { + sub_8104CAC(1); + eSlotMachine->unk04 &= 0xDF; + eSlotMachine->state = 11; + } + return FALSE; +} + +bool8 sub_8102034(struct Task *task) +{ + if (++task->data[0] >= 30) + { + sub_81024F0(); + eSlotMachine->state = 12; + } + return FALSE; +} + +bool8 sub_8102058(struct Task *task) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_JYUNI); + sub_8102E1C(eSlotMachine->unk18); + sub_8103C14(eSlotMachine->unk18); + eSlotMachine->state = 13; + } + return FALSE; +} + +bool8 sub_8102090(struct Task *task) +{ + if (!sub_8102E40(eSlotMachine->unk18)) + { + eSlotMachine->unk18++; + eSlotMachine->state = 12; + if (eSlotMachine->unk18 > 2) + { + eSlotMachine->state = 14; + } + return TRUE; + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 6369dca42b4a0cab379b5ecfdc5b8235e64f79cc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 18:34:43 -0500 Subject: sub_81020C8 --- asm/slot_machine.s | 136 ----------------------------------------------- include/slot_machine.h | 2 +- src/field/slot_machine.c | 69 ++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 137 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 75202fc81..f4d0202a4 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,142 +5,6 @@ .text - thumb_func_start sub_81020C8 -sub_81020C8: @ 81020C8 - push {r4,lr} - ldr r4, _08102128 @ =gSharedMem - ldrb r1, [r4, 0x4] - movs r0, 0xC0 - ands r0, r1 - strb r0, [r4, 0x4] - bl sub_81027A0 - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _081020E8 - subs r0, 0x1 - strb r0, [r4, 0xA] - ldrb r0, [r4, 0xB] - adds r0, 0x1 - strb r0, [r4, 0xB] -_081020E8: - ldrh r0, [r4, 0x8] - cmp r0, 0 - beq _081021B4 - movs r0, 0xF - strb r0, [r4] - bl sub_8102A24 - bl sub_8103F70 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _0810210C - movs r0, 0 - strh r0, [r4, 0x10] -_0810210C: - ldrh r1, [r4, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08102130 - ldr r0, _0810212C @ =0x00000185 - bl PlayFanfare - movs r0, 0x6 - bl sub_8104CAC - b _0810215A - .align 2, 0 -_08102128: .4byte gSharedMem -_0810212C: .4byte 0x00000185 -_08102130: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810214C - ldr r0, _08102148 @ =0x00000185 - bl PlayFanfare - movs r0, 0x5 - bl sub_8104CAC - b _0810215A - .align 2, 0 -_08102148: .4byte 0x00000185 -_0810214C: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare - movs r0, 0x2 - bl sub_8104CAC -_0810215A: - ldr r1, _081021B0 @ =gSharedMem - ldrh r3, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 1 - ands r0, r3 - adds r2, r1, 0 - cmp r0, 0 - beq _08102192 - ldrb r1, [r2, 0x4] - movs r0, 0x3F - ands r0, r1 - movs r1, 0 - strb r0, [r2, 0x4] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r3 - cmp r0, 0 - beq _08102192 - strb r1, [r2, 0xA] - strb r1, [r2, 0xB] - strb r1, [r2, 0x3] - movs r0, 0x80 - lsls r0, 1 - ands r0, r3 - cmp r0, 0 - beq _08102192 - movs r0, 0x1 - strb r0, [r2, 0x3] -_08102192: - ldrh r1, [r2, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081021D2 - ldrb r0, [r2, 0x2] - cmp r0, 0xF - bhi _081021D2 - adds r0, 0x1 - strb r0, [r2, 0x2] - ldrb r0, [r2, 0x2] - bl sub_8104064 - b _081021D2 - .align 2, 0 -_081021B0: .4byte gSharedMem -_081021B4: - movs r0, 0x3 - bl sub_8104CAC - movs r0, 0x14 - strb r0, [r4] - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - ldr r1, _081021DC @ =0x0000270f - cmp r0, r1 - ble _081021D2 - strh r1, [r4, 0x10] -_081021D2: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081021DC: .4byte 0x0000270f - thumb_func_end sub_81020C8 - thumb_func_start sub_81021E0 sub_81021E0: @ 81021E0 push {lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 057713a1b..880fe6f1f 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -13,7 +13,7 @@ struct SlotMachineEwramStruct { /*0x0B*/ u8 unk0B; /*0x0C*/ s16 coins; /*0x0E*/ u16 unk0E; - /*0x10*/ u16 unk10; + /*0x10*/ s16 unk10; /*0x12*/ s16 bet; /*0x14*/ u8 filler14[4]; /*0x18*/ s16 unk18; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 94dd5b08f..65d7e21ba 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -54,6 +54,8 @@ static void sub_8101D24(u8 taskId); void sub_8102484(void); void sub_81024F0(void); +void sub_81027A0(void); +void sub_8102A24(void); void sub_8102DA8(void); void sub_8102DEC(u8 a0); void sub_8102E1C(u8 a0); @@ -61,7 +63,9 @@ bool8 sub_8102E40(u8 a0); void sub_8103C14(u8 a0); void sub_8103D50(u8 a0); void sub_8103DC8(void); +void sub_8103F70(void); void sub_8104048(void); +void sub_8104064(u8 a0); void sub_810423C(u8 a0); void sub_810430C(void); bool8 sub_810432C(void); @@ -507,6 +511,71 @@ bool8 sub_8102090(struct Task *task) return FALSE; } +bool8 sub_81020C8(struct Task *task) +{ + eSlotMachine->unk04 &= 0xc0; + sub_81027A0(); + if (eSlotMachine->unk0A) + { + eSlotMachine->unk0A--; + eSlotMachine->unk0B++; + } + if (eSlotMachine->unk08) + { + eSlotMachine->state = 15; + sub_8102A24(); + sub_8103F70(); + if ((eSlotMachine->unk10 -= eSlotMachine->unk0E) < 0) + { + eSlotMachine->unk10 = 0; + } + if (eSlotMachine->unk08 & 0x180) + { + PlayFanfare(BGM_ME_B_BIG); + sub_8104CAC(6); + } + else if (eSlotMachine->unk08 & 0x40) + { + PlayFanfare(BGM_ME_B_BIG); + sub_8104CAC(5); + } + else + { + PlayFanfare(BGM_ME_B_SMALL); + sub_8104CAC(2); + } + if (eSlotMachine->unk08 & 0x1c0) + { + eSlotMachine->unk04 &= 0x3f; + if (eSlotMachine->unk08 & 0x180) + { + eSlotMachine->unk0A = 0; + eSlotMachine->unk0B = 0; + eSlotMachine->unk03 = 0; + if (eSlotMachine->unk08 & 0x100) + { + eSlotMachine->unk03 = 1; + } + } + } + if (eSlotMachine->unk08 & 0x20 && eSlotMachine->unk02 < 16) + { + eSlotMachine->unk02++; + sub_8104064(eSlotMachine->unk02); + } + } + else + { + sub_8104CAC(3); + eSlotMachine->state = 20; + if ((eSlotMachine->unk10 += eSlotMachine->bet) > 9999) + { + eSlotMachine->unk10 = 9999; + } + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From e432ffd18d6a1cd5bf1147a42979df3541ea0807 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 19:08:24 -0500 Subject: through sub_8102460 --- asm/slot_machine.s | 369 ----------------------------------------------- include/slot_machine.h | 2 +- src/field/slot_machine.c | 174 +++++++++++++++++++++- 3 files changed, 174 insertions(+), 371 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index f4d0202a4..6552f3a7c 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,375 +5,6 @@ .text - thumb_func_start sub_81021E0 -sub_81021E0: @ 81021E0 - push {lr} - bl sub_8102A44 - lsls r0, 24 - cmp r0, 0 - beq _081021F2 - ldr r1, _081021F8 @ =gSharedMem - movs r0, 0x10 - strb r0, [r1] -_081021F2: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_081021F8: .4byte gSharedMem - thumb_func_end sub_81021E0 - - thumb_func_start sub_81021FC -sub_81021FC: @ 81021FC - push {r4,lr} - bl sub_8103FA0 - lsls r0, 24 - cmp r0, 0 - beq _08102256 - ldr r4, _08102260 @ =gSharedMem - movs r0, 0x13 - strb r0, [r4] - ldrh r1, [r4, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08102220 - movs r0, 0x1C - bl IncrementGameStat -_08102220: - ldrh r1, [r4, 0x8] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08102236 - movs r0, 0 - strh r0, [r4, 0x18] - movs r0, 0x9 - strb r0, [r4] -_08102236: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08102242 - movs r0, 0x11 - strb r0, [r4] -_08102242: - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _08102256 - cmp r2, 0 - beq _08102256 - movs r0, 0x4 - bl sub_8104CAC - movs r0, 0x12 - strb r0, [r4] -_08102256: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102260: .4byte gSharedMem - thumb_func_end sub_81021FC - - thumb_func_start sub_8102264 -sub_8102264: @ 8102264 - push {r4,lr} - bl sub_81040C8 - lsls r0, 24 - cmp r0, 0 - bne _08102294 - ldr r4, _0810229C @ =gSharedMem - movs r0, 0x13 - strb r0, [r4] - ldrh r1, [r4, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08102294 - movs r0, 0x9 - strb r0, [r4] - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _08102294 - movs r0, 0x4 - bl sub_8104CAC - movs r0, 0x12 - strb r0, [r4] -_08102294: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810229C: .4byte gSharedMem - thumb_func_end sub_8102264 - - thumb_func_start sub_81022A0 -sub_81022A0: @ 81022A0 - push {lr} - bl sub_8104E18 - lsls r0, 24 - cmp r0, 0 - beq _081022C0 - ldr r2, _081022C8 @ =gSharedMem - movs r0, 0x13 - strb r0, [r2] - ldrh r1, [r2, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081022C0 - movs r0, 0x9 - strb r0, [r2] -_081022C0: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_081022C8: .4byte gSharedMem - thumb_func_end sub_81022A0 - - thumb_func_start sub_81022CC -sub_81022CC: @ 81022CC - push {lr} - movs r0, 0 - bl sub_8103D8C - movs r0, 0x1 - bl sub_8103D8C - movs r0, 0x2 - bl sub_8103D8C - ldr r1, _081022EC @ =gSharedMem - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_081022EC: .4byte gSharedMem - thumb_func_end sub_81022CC - - thumb_func_start sub_81022F0 -sub_81022F0: @ 81022F0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _0810230C - movs r0, 0 - strh r0, [r1, 0xA] - ldr r1, _08102314 @ =gSharedMem - movs r0, 0x13 - strb r0, [r1] -_0810230C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08102314: .4byte gSharedMem - thumb_func_end sub_81022F0 - - thumb_func_start sub_8102318 -sub_8102318: @ 8102318 - push {lr} - ldr r0, _0810233C @ =gOtherText_QuitGamePrompt - bl sub_8101F2C - movs r0, 0x15 - movs r1, 0x7 - movs r2, 0x1 - bl DisplayYesNoMenu - bl sub_814AB84 - ldr r1, _08102340 @ =gSharedMem - movs r0, 0x16 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0810233C: .4byte gOtherText_QuitGamePrompt -_08102340: .4byte gSharedMem - thumb_func_end sub_8102318 - - thumb_func_start sub_8102344 -sub_8102344: @ 8102344 - push {lr} - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0810237C - bl MenuZeroFillScreen - movs r0, 0 - bl sub_8103D8C - movs r0, 0x1 - bl sub_8103D8C - movs r0, 0x2 - bl sub_8103D8C - ldr r0, _08102378 @ =gSharedMem - ldrh r1, [r0, 0x12] - ldrh r2, [r0, 0xC] - adds r1, r2 - strh r1, [r0, 0xC] - movs r1, 0x1B - strb r1, [r0] - b _08102392 - .align 2, 0 -_08102378: .4byte gSharedMem -_0810237C: - cmp r1, 0x1 - beq _08102388 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08102392 -_08102388: - bl MenuZeroFillScreen - ldr r1, _08102398 @ =gSharedMem - movs r0, 0x5 - strb r0, [r1] -_08102392: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08102398: .4byte gSharedMem - thumb_func_end sub_8102344 - - thumb_func_start sub_810239C -sub_810239C: @ 810239C - push {lr} - ldr r0, _081023B0 @ =gOtherText_MaxCoins - bl sub_8101F2C - ldr r1, _081023B4 @ =gSharedMem - movs r0, 0x18 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_081023B0: .4byte gOtherText_MaxCoins -_081023B4: .4byte gSharedMem - thumb_func_end sub_810239C - - thumb_func_start sub_81023B8 -sub_81023B8: @ 81023B8 - push {lr} - ldr r0, _081023D8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081023D0 - bl MenuZeroFillScreen - ldr r1, _081023DC @ =gSharedMem - movs r0, 0x5 - strb r0, [r1] -_081023D0: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_081023D8: .4byte gMain -_081023DC: .4byte gSharedMem - thumb_func_end sub_81023B8 - - thumb_func_start sub_81023E0 -sub_81023E0: @ 81023E0 - push {lr} - ldr r0, _081023F4 @ =gOtherText_OutOfCoins - bl sub_8101F2C - ldr r1, _081023F8 @ =gSharedMem - movs r0, 0x1A - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_081023F4: .4byte gOtherText_OutOfCoins -_081023F8: .4byte gSharedMem - thumb_func_end sub_81023E0 - - thumb_func_start sub_81023FC -sub_81023FC: @ 81023FC - push {lr} - ldr r0, _0810241C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08102414 - bl MenuZeroFillScreen - ldr r1, _08102420 @ =gSharedMem - movs r0, 0x1B - strb r0, [r1] -_08102414: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0810241C: .4byte gMain -_08102420: .4byte gSharedMem - thumb_func_end sub_81023FC - - thumb_func_start sub_8102424 -sub_8102424: @ 8102424 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08102454 @ =gSaveBlock1 - ldr r4, _08102458 @ =gSharedMem - ldrh r1, [r4, 0xC] - ldr r2, _0810245C @ =0x00000494 - adds r0, r2 - movs r2, 0 - strh r1, [r0] - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102454: .4byte gSaveBlock1 -_08102458: .4byte gSharedMem -_0810245C: .4byte 0x00000494 - thumb_func_end sub_8102424 - - thumb_func_start sub_8102460 -sub_8102460: @ 8102460 - push {lr} - ldr r0, _0810247C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08102476 - ldr r0, _08102480 @ =gSharedMem - ldr r0, [r0, 0x64] - bl SetMainCallback2 -_08102476: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0810247C: .4byte gPaletteFade -_08102480: .4byte gSharedMem - thumb_func_end sub_8102460 - thumb_func_start sub_8102484 sub_8102484: @ 8102484 push {r4,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 880fe6f1f..4dde64aa7 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -29,7 +29,7 @@ struct SlotMachineEwramStruct { /*0x5c*/ u16 winIn; /*0x5e*/ u16 winOut; /*0x60*/ u16 backupMapMusic; - /*0x64*/ void *unk64; + /*0x64*/ MainCallback prevMainCb; }; void PlaySlotMachine(u8, void *); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 65d7e21ba..37fbbbb51 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1,6 +1,8 @@ #include "global.h" #include "constants/songs.h" #include "strings2.h" +#include "overworld.h" +#include "menu_cursor.h" #include "random.h" #include "sound.h" #include "main.h" @@ -56,16 +58,20 @@ void sub_8102484(void); void sub_81024F0(void); void sub_81027A0(void); void sub_8102A24(void); +bool8 sub_8102A44(void); void sub_8102DA8(void); void sub_8102DEC(u8 a0); void sub_8102E1C(u8 a0); bool8 sub_8102E40(u8 a0); void sub_8103C14(u8 a0); void sub_8103D50(u8 a0); +void sub_8103D8C(u8 a0); void sub_8103DC8(void); void sub_8103F70(void); +bool8 sub_8103FA0(void); void sub_8104048(void); void sub_8104064(u8 a0); +bool8 sub_81040C8(void); void sub_810423C(u8 a0); void sub_810430C(void); bool8 sub_810432C(void); @@ -157,7 +163,7 @@ void sub_81019EC(void) { struct Task *task = &gTasks[FindTaskIdByFunc(nullsub_67)]; eSlotMachine->unk01 = task->data[0]; - LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&eSlotMachine->unk64); + LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&eSlotMachine->prevMainCb); } static void nullsub_67(u8 taskId) @@ -576,6 +582,172 @@ bool8 sub_81020C8(struct Task *task) return FALSE; } +bool8 sub_81021E0(struct Task *task) +{ + if (sub_8102A44()) + { + eSlotMachine->state = 16; + } + return FALSE; +} + +bool8 sub_81021FC(struct Task *tas) +{ + if (sub_8103FA0()) + { + eSlotMachine->state = 19; + if (eSlotMachine->unk08 & 0x180) + { + IncrementGameStat(GAME_STAT_SLOT_JACKPOTS); + } + if (eSlotMachine->unk08 & 0x04) + { + eSlotMachine->unk18 = 0; + eSlotMachine->state = 9; + } + if (eSlotMachine->unk08 & 0x20) + { + eSlotMachine->state = 17; + } + if (eSlotMachine->unk0A && eSlotMachine->unk08 & 0x04) + { + sub_8104CAC(4); + eSlotMachine->state = 18; + } + } + return FALSE; +} + +bool8 sub_8102264(struct Task *task) +{ + if (!sub_81040C8()) + { + eSlotMachine->state = 19; + if (eSlotMachine->unk08 & 0x04) + { + eSlotMachine->state = 9; + if (eSlotMachine->unk0A) + { + sub_8104CAC(4); + eSlotMachine->state = 18; + } + } + } + return FALSE; +} + +bool8 sub_81022A0(struct Task *task) +{ + if (sub_8104E18()) + { + eSlotMachine->state = 19; + if (eSlotMachine->unk08 & 0x04) + { + eSlotMachine->state = 9; + } + } + return FALSE; +} + +bool8 sub_81022CC(struct Task *task) +{ + sub_8103D8C(0); + sub_8103D8C(1); + sub_8103D8C(2); + eSlotMachine->state = 2; + return FALSE; +} + +bool8 sub_81022F0(struct Task *task) +{ + if (++task->data[1] > 64) + { + task->data[1] = 0; + eSlotMachine->state = 19; + } + return FALSE; +} + +bool8 sub_8102318(struct Task *task) +{ + sub_8101F2C(gOtherText_QuitGamePrompt); + DisplayYesNoMenu(21, 7, 1); + sub_814AB84(); + eSlotMachine->state = 22; + return FALSE; +} + +bool8 sub_8102344(struct Task *task) +{ + s8 input = ProcessMenuInputNoWrap_(); + if (input == 0) + { + MenuZeroFillScreen(); + sub_8103D8C(0); + sub_8103D8C(1); + sub_8103D8C(2); + eSlotMachine->coins += eSlotMachine->bet; + eSlotMachine->state = 27; + } + else if (input == 1 || input == -1) + { + MenuZeroFillScreen(); + eSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_810239C(struct Task *task) +{ + sub_8101F2C(gOtherText_MaxCoins); + eSlotMachine->state = 24; + return FALSE; +} + +bool8 sub_81023B8(struct Task *task) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + MenuZeroFillScreen(); + eSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_81023E0(struct Task *task) +{ + sub_8101F2C(gOtherText_OutOfCoins); + eSlotMachine->state = 26; + return FALSE; +} + +bool8 sub_81023FC(struct Task *task) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + MenuZeroFillScreen(); + eSlotMachine->state = 27; + } + return FALSE; +} + +bool8 sub_8102424(struct Task *task) +{ + gSaveBlock1.coins = eSlotMachine->coins; + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + eSlotMachine->state++; + return FALSE; +} + +bool8 sub_8102460(struct Task *task) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(eSlotMachine->prevMainCb); + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 683862fbd5fdcd9b1c60f926553db0cbe2847422 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 19:12:42 -0500 Subject: through sub_8102460; decompile associated pointer table --- data/slot_machine.s | 32 ------------- ld_script.txt | 1 + src/field/slot_machine.c | 121 +++++++++++++++++++++++++++++++++++------------ 3 files changed, 91 insertions(+), 63 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index 9bd6fe5c9..827d27747 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,38 +3,6 @@ .section .rodata - .align 2 -gUnknown_083ECAAC:: @ 83ECAAC - .4byte sub_8101D5C - .4byte sub_8101D8C - .4byte sub_8101DB0 - .4byte sub_8101DF4 - .4byte sub_8101E10 - .4byte sub_8101E3C - .4byte sub_8101F44 - .4byte sub_8101F60 - .4byte sub_8101F88 - .4byte sub_8101FA4 - .4byte sub_8102008 - .4byte sub_8102034 - .4byte sub_8102058 - .4byte sub_8102090 - .4byte sub_81020C8 - .4byte sub_81021E0 - .4byte sub_81021FC - .4byte sub_8102264 - .4byte sub_81022A0 - .4byte sub_81022CC - .4byte sub_81022F0 - .4byte sub_8102318 - .4byte sub_8102344 - .4byte sub_810239C - .4byte sub_81023B8 - .4byte sub_81023E0 - .4byte sub_81023FC - .4byte sub_8102424 - .4byte sub_8102460 - .align 2 gUnknown_083ECB20:: @ 83ECB20 .4byte sub_8102A9C diff --git a/ld_script.txt b/ld_script.txt index 5014ebb4b..7e588c032 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -554,6 +554,7 @@ SECTIONS { src/field/region_map.o(.rodata); data/cute_sketch.o(.rodata); src/field/decoration.o(.rodata); + src/field/slot_machine.o(.rodata); data/slot_machine.o(.rodata); src/scene/contest_painting.o(.rodata); src/battle/battle_ai.o(.rodata); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 37fbbbb51..2bf8e9c97 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -53,6 +53,35 @@ static void sub_8101CD4(void); static void sub_8101CEC(void); static void sub_8101D04(void); static void sub_8101D24(u8 taskId); +static bool8 sub_8101D5C(struct Task *task); +static bool8 sub_8101D8C(struct Task *task); +static bool8 sub_8101DB0(struct Task *task); +static bool8 sub_8101DF4(struct Task *task); +static bool8 sub_8101E10(struct Task *task); +static bool8 sub_8101E3C(struct Task *task); +static bool8 sub_8101F44(struct Task *task); +static bool8 sub_8101F60(struct Task *task); +static bool8 sub_8101F88(struct Task *task); +static bool8 sub_8101FA4(struct Task *task); +static bool8 sub_8102008(struct Task *task); +static bool8 sub_8102034(struct Task *task); +static bool8 sub_8102058(struct Task *task); +static bool8 sub_8102090(struct Task *task); +static bool8 sub_81020C8(struct Task *task); +static bool8 sub_81021E0(struct Task *task); +static bool8 sub_81021FC(struct Task *task); +static bool8 sub_8102264(struct Task *task); +static bool8 sub_81022A0(struct Task *task); +static bool8 sub_81022CC(struct Task *task); +static bool8 sub_81022F0(struct Task *task); +static bool8 sub_8102318(struct Task *task); +static bool8 sub_8102344(struct Task *task); +static bool8 sub_810239C(struct Task *task); +static bool8 sub_81023B8(struct Task *task); +static bool8 sub_81023E0(struct Task *task); +static bool8 sub_81023FC(struct Task *task); +static bool8 sub_8102424(struct Task *task); +static bool8 sub_8102460(struct Task *task); void sub_8102484(void); void sub_81024F0(void); @@ -88,6 +117,38 @@ void sub_8106448(void); void sub_81064B8(void); u16 dp15_jump_random_unknown(void); +static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { + sub_8101D5C, + sub_8101D8C, + sub_8101DB0, + sub_8101DF4, + sub_8101E10, + sub_8101E3C, + sub_8101F44, + sub_8101F60, + sub_8101F88, + sub_8101FA4, + sub_8102008, + sub_8102034, + sub_8102058, + sub_8102090, + sub_81020C8, + sub_81021E0, + sub_81021FC, + sub_8102264, + sub_81022A0, + sub_81022CC, + sub_81022F0, + sub_8102318, + sub_8102344, + sub_810239C, + sub_81023B8, + sub_81023E0, + sub_81023FC, + sub_8102424, + sub_8102460 +}; + void PlaySlotMachine(u8 arg0, void *ptr) { sub_81019B0(arg0, ptr); @@ -295,8 +356,6 @@ static void sub_8101CEC(void) sub_8101D04(); } -extern bool8 (*const gUnknown_083ECAAC[])(struct Task *task); - static void sub_8101D04(void) { sub_8101D24(CreateTask(sub_8101D24, 0)); @@ -307,7 +366,7 @@ static void sub_8101D24(u8 taskId) while (gUnknown_083ECAAC[eSlotMachine->state](gTasks + taskId)); } -bool8 sub_8101D5C(struct Task *task) +static bool8 sub_8101D5C(struct Task *task) { BeginNormalPaletteFade(-1, 0, 16, 0, 0); sub_810423C(eSlotMachine->unk02); @@ -315,7 +374,7 @@ bool8 sub_8101D5C(struct Task *task) return FALSE; } -bool8 sub_8101D8C(struct Task *task) +static bool8 sub_8101D8C(struct Task *task) { if (!gPaletteFade.active) { @@ -324,7 +383,7 @@ bool8 sub_8101D8C(struct Task *task) return FALSE; } -bool8 sub_8101DB0(struct Task *task) +static bool8 sub_8101DB0(struct Task *task) { eSlotMachine->unk0E = 0; eSlotMachine->bet = 0; @@ -343,7 +402,7 @@ bool8 sub_8101DB0(struct Task *task) return TRUE; } -bool8 sub_8101DF4(struct Task *task) +static bool8 sub_8101DF4(struct Task *task) { if (sub_8104E18()) { @@ -352,7 +411,7 @@ bool8 sub_8101DF4(struct Task *task) return FALSE; } -bool8 sub_8101E10(struct Task *task) +static bool8 sub_8101E10(struct Task *task) { sub_8104CAC(0); eSlotMachine->state = 5; @@ -363,7 +422,7 @@ bool8 sub_8101E10(struct Task *task) return TRUE; } -bool8 sub_8101E3C(struct Task *task) +static bool8 sub_8101E3C(struct Task *task) { s16 i; @@ -417,14 +476,14 @@ void sub_8101F2C(const u8 *str) MenuPrint(str, 2, 15); } -bool8 sub_8101F44(struct Task *task) +static bool8 sub_8101F44(struct Task *task) { sub_8101F2C(gOtherText_DontHaveThreeCoins); eSlotMachine->state = 7; return FALSE; } -bool8 sub_8101F60(struct Task *task) +static bool8 sub_8101F60(struct Task *task) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -434,7 +493,7 @@ bool8 sub_8101F60(struct Task *task) return FALSE; } -bool8 sub_8101F88(struct Task *task) +static bool8 sub_8101F88(struct Task *task) { if (sub_8104AEC()) { @@ -443,7 +502,7 @@ bool8 sub_8101F88(struct Task *task) return FALSE; } -bool8 sub_8101FA4(struct Task *task) +static bool8 sub_8101FA4(struct Task *task) { sub_8102484(); sub_8104DA4(); @@ -469,7 +528,7 @@ bool8 sub_8101FA4(struct Task *task) return FALSE; } -bool8 sub_8102008(struct Task *task) +static bool8 sub_8102008(struct Task *task) { if (sub_810432C()) { @@ -480,7 +539,7 @@ bool8 sub_8102008(struct Task *task) return FALSE; } -bool8 sub_8102034(struct Task *task) +static bool8 sub_8102034(struct Task *task) { if (++task->data[0] >= 30) { @@ -490,7 +549,7 @@ bool8 sub_8102034(struct Task *task) return FALSE; } -bool8 sub_8102058(struct Task *task) +static bool8 sub_8102058(struct Task *task) { if (gMain.newKeys & A_BUTTON) { @@ -502,7 +561,7 @@ bool8 sub_8102058(struct Task *task) return FALSE; } -bool8 sub_8102090(struct Task *task) +static bool8 sub_8102090(struct Task *task) { if (!sub_8102E40(eSlotMachine->unk18)) { @@ -517,7 +576,7 @@ bool8 sub_8102090(struct Task *task) return FALSE; } -bool8 sub_81020C8(struct Task *task) +static bool8 sub_81020C8(struct Task *task) { eSlotMachine->unk04 &= 0xc0; sub_81027A0(); @@ -582,7 +641,7 @@ bool8 sub_81020C8(struct Task *task) return FALSE; } -bool8 sub_81021E0(struct Task *task) +static bool8 sub_81021E0(struct Task *task) { if (sub_8102A44()) { @@ -591,7 +650,7 @@ bool8 sub_81021E0(struct Task *task) return FALSE; } -bool8 sub_81021FC(struct Task *tas) +static bool8 sub_81021FC(struct Task *task) { if (sub_8103FA0()) { @@ -618,7 +677,7 @@ bool8 sub_81021FC(struct Task *tas) return FALSE; } -bool8 sub_8102264(struct Task *task) +static bool8 sub_8102264(struct Task *task) { if (!sub_81040C8()) { @@ -636,7 +695,7 @@ bool8 sub_8102264(struct Task *task) return FALSE; } -bool8 sub_81022A0(struct Task *task) +static bool8 sub_81022A0(struct Task *task) { if (sub_8104E18()) { @@ -649,7 +708,7 @@ bool8 sub_81022A0(struct Task *task) return FALSE; } -bool8 sub_81022CC(struct Task *task) +static bool8 sub_81022CC(struct Task *task) { sub_8103D8C(0); sub_8103D8C(1); @@ -658,7 +717,7 @@ bool8 sub_81022CC(struct Task *task) return FALSE; } -bool8 sub_81022F0(struct Task *task) +static bool8 sub_81022F0(struct Task *task) { if (++task->data[1] > 64) { @@ -668,7 +727,7 @@ bool8 sub_81022F0(struct Task *task) return FALSE; } -bool8 sub_8102318(struct Task *task) +static bool8 sub_8102318(struct Task *task) { sub_8101F2C(gOtherText_QuitGamePrompt); DisplayYesNoMenu(21, 7, 1); @@ -677,7 +736,7 @@ bool8 sub_8102318(struct Task *task) return FALSE; } -bool8 sub_8102344(struct Task *task) +static bool8 sub_8102344(struct Task *task) { s8 input = ProcessMenuInputNoWrap_(); if (input == 0) @@ -697,14 +756,14 @@ bool8 sub_8102344(struct Task *task) return FALSE; } -bool8 sub_810239C(struct Task *task) +static bool8 sub_810239C(struct Task *task) { sub_8101F2C(gOtherText_MaxCoins); eSlotMachine->state = 24; return FALSE; } -bool8 sub_81023B8(struct Task *task) +static bool8 sub_81023B8(struct Task *task) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -714,14 +773,14 @@ bool8 sub_81023B8(struct Task *task) return FALSE; } -bool8 sub_81023E0(struct Task *task) +static bool8 sub_81023E0(struct Task *task) { sub_8101F2C(gOtherText_OutOfCoins); eSlotMachine->state = 26; return FALSE; } -bool8 sub_81023FC(struct Task *task) +static bool8 sub_81023FC(struct Task *task) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -731,7 +790,7 @@ bool8 sub_81023FC(struct Task *task) return FALSE; } -bool8 sub_8102424(struct Task *task) +static bool8 sub_8102424(struct Task *task) { gSaveBlock1.coins = eSlotMachine->coins; BeginNormalPaletteFade(-1, 0, 0, 16, 0); @@ -739,7 +798,7 @@ bool8 sub_8102424(struct Task *task) return FALSE; } -bool8 sub_8102460(struct Task *task) +static bool8 sub_8102460(struct Task *task) { if (!gPaletteFade.active) { -- cgit v1.2.3 From 388a4cc729c84e334819db165eb5aab99233ee9c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 21 Dec 2017 22:35:46 -0500 Subject: sub_8102540 --- asm/slot_machine.s | 136 ----------------------------------------------- include/slot_machine.h | 4 +- src/field/slot_machine.c | 98 ++++++++++++++++++++++++++++++---- 3 files changed, 92 insertions(+), 146 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 6552f3a7c..6a7775a2e 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,142 +5,6 @@ .text - thumb_func_start sub_8102484 -sub_8102484: @ 8102484 - push {r4,lr} - ldr r4, _081024E4 @ =gSharedMem - ldrb r0, [r4, 0xA] - cmp r0, 0 - bne _081024DC - ldrb r1, [r4, 0x4] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _081024DC - bl sub_8102540 - lsls r0, 24 - cmp r0, 0 - beq _081024C0 - bl sub_8102578 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - beq _081024C0 - ldr r1, _081024E8 @ =gUnknown_083ECE42 - lsls r0, r3, 1 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r4, 0x4] - orrs r0, r1 - strb r0, [r4, 0x4] - cmp r3, 0x1 - bne _081024DC -_081024C0: - bl sub_81025BC - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - beq _081024DC - ldr r2, _081024E4 @ =gSharedMem - ldr r1, _081024EC @ =gUnknown_083ECE48 - lsls r0, r3, 1 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] -_081024DC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081024E4: .4byte gSharedMem -_081024E8: .4byte gUnknown_083ECE42 -_081024EC: .4byte gUnknown_083ECE48 - thumb_func_end sub_8102484 - - thumb_func_start sub_81024F0 -sub_81024F0: @ 81024F0 - push {lr} - ldr r1, _08102508 @ =gSharedMem - movs r0, 0 - strb r0, [r1, 0x6] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08102502 - movs r0, 0x1 - strb r0, [r1, 0x6] -_08102502: - pop {r0} - bx r0 - .align 2, 0 -_08102508: .4byte gSharedMem - thumb_func_end sub_81024F0 - - thumb_func_start sub_810250C -sub_810250C: @ 810250C - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - movs r3, 0x1 - ldr r4, _08102528 @ =gUnknown_083ECE3A -_08102518: - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0810252C - adds r0, r2, r4 - ldrb r0, [r0] - b _0810253A - .align 2, 0 -_08102528: .4byte gUnknown_083ECE3A -_0810252C: - lsrs r1, 1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _08102518 - movs r0, 0 -_0810253A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810250C - - thumb_func_start sub_8102540 -sub_8102540: @ 8102540 - push {r4,lr} - bl Random - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08102568 @ =gUnknown_083ECD04 - ldr r1, _0810256C @ =gSharedMem - movs r3, 0x12 - ldrsh r2, [r1, r3] - ldrb r3, [r1, 0x1] - lsls r1, r3, 1 - adds r1, r3 - subs r1, 0x1 - adds r2, r1 - adds r2, r4 - ldrb r1, [r2] - cmp r1, r0 - bhi _08102570 - movs r0, 0 - b _08102572 - .align 2, 0 -_08102568: .4byte gUnknown_083ECD04 -_0810256C: .4byte gSharedMem -_08102570: - movs r0, 0x1 -_08102572: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8102540 - thumb_func_start sub_8102578 sub_8102578: @ 8102578 push {r4-r6,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 4dde64aa7..0e7efaf29 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -7,7 +7,9 @@ struct SlotMachineEwramStruct { /*0x02*/ u8 unk02; /*0x03*/ u8 unk03; /*0x04*/ u8 unk04; - /*0x05*/ u8 filler05[3]; + /*0x05*/ u8 unk05; + /*0x06*/ u8 unk06; + /*0x07*/ u8 unk07; /*0x08*/ u16 unk08; /*0x0A*/ u8 unk0A; /*0x0B*/ u8 unk0B; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 2bf8e9c97..b72c749d0 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -82,9 +82,11 @@ static bool8 sub_81023E0(struct Task *task); static bool8 sub_81023FC(struct Task *task); static bool8 sub_8102424(struct Task *task); static bool8 sub_8102460(struct Task *task); - -void sub_8102484(void); -void sub_81024F0(void); +static void sub_8102484(void); +static void sub_81024F0(void); +bool8 sub_8102540(void); +u8 sub_8102578(void); +u8 sub_81025BC(void); void sub_81027A0(void); void sub_8102A24(void); bool8 sub_8102A44(void); @@ -113,7 +115,7 @@ void sub_8104EA8(void); void sub_8104F8C(void); void sub_81050C4(void); void sub_81063C0(void); -void sub_8106448(void); +static void sub_8106448(void); void sub_81064B8(void); u16 dp15_jump_random_unknown(void); @@ -149,6 +151,11 @@ static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { sub_8102460 }; +extern const u8 gUnknown_083ECD04[][3]; +extern const u8 gUnknown_083ECE3A[]; +extern const u16 gUnknown_083ECE42[]; +extern const u16 gUnknown_083ECE48[]; + void PlaySlotMachine(u8 arg0, void *ptr) { sub_81019B0(arg0, ptr); @@ -807,6 +814,82 @@ static bool8 sub_8102460(struct Task *task) return FALSE; } +static void sub_8102484(void) +{ + u8 r3; + + if (eSlotMachine->unk0A == 0 && !(eSlotMachine->unk04 & 0xc0)) + { + if (sub_8102540()) + { + r3 = sub_8102578(); + if (r3 != 3) + { + eSlotMachine->unk04 |= gUnknown_083ECE42[r3]; + if (r3 != 1) + { + return; + } + } + } + r3 = sub_81025BC(); + if (r3 != 5) + { + eSlotMachine->unk04 |= gUnknown_083ECE48[r3]; + } + } +} + +static void sub_81024F0(void) +{ + eSlotMachine->unk06 = 0; + if (eSlotMachine->unk04) + { + eSlotMachine->unk06 = 1; + } +} + +u8 sub_810250C(u8 a0) +{ + u8 i; + + for (i = 0; i < 8; i++) + { + if (a0 & 1) + { + return gUnknown_083ECE3A[i]; + } + a0 >>= 1; + } + return 0; +} + +bool8 sub_8102540(void) +{ + u8 rval = Random(); + if (gUnknown_083ECD04[eSlotMachine->unk01][eSlotMachine->bet - 1] > rval) + { + return TRUE; + } + return FALSE; +} + +//extern const u8 gUnknown_083ECD16[][3]; +// +//u8 sub_8102578(void) +//{ +// s16 i; +// +// for (i = 0; i < 3; i++) +// { +// if ((Random() & 0xff) <= (int)gUnknown_083ECD16[i][eSlotMachine->unk01]) +// { +// break; +// } +// } +// return i; +//} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); @@ -820,8 +903,7 @@ void sub_8104CAC(u8 arg0) { task = &gTasks[eSlotMachine->unk3D]; task->data[1] = arg0; - i = 0; - while (gUnknown_083ED048[arg0][i].unk00 != 0xFF) + for (i = 0; gUnknown_083ED048[arg0][i].unk00 != 0xFF; i++) { u8 spriteId; spriteId = sub_8105BB4( @@ -837,14 +919,12 @@ void sub_8104CAC(u8 arg0) { gSprites[spriteId].invisible = TRUE; } #endif - - i += 1; } } asm(".section .text_b"); -void sub_8106448(void) { +static void sub_8106448(void) { u32 offsetRead, offsetWrite; u32 size; -- cgit v1.2.3 From 56bf99fd9106b3cc8fac45cc051cbeeec40e34aa Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 22 Dec 2017 08:37:19 -0500 Subject: Nonmatching sub_8102578 --- asm/slot_machine.s | 38 ------------------------ src/field/slot_machine.c | 75 ++++++++++++++++++++++++++++++++++++------------ 2 files changed, 57 insertions(+), 56 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 6a7775a2e..a6201c22e 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,44 +5,6 @@ .text - thumb_func_start sub_8102578 -sub_8102578: @ 8102578 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081025B4 @ =gUnknown_083ECD16 -_0810257E: - bl Random - movs r2, 0xFF - ldr r3, _081025B8 @ =gSharedMem - lsls r1, r5, 16 - asrs r4, r1, 16 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - ldrb r3, [r3, 0x1] - adds r1, r3 - adds r1, r6 - ldrb r1, [r1] - ands r2, r0 - cmp r1, r2 - bgt _081025AA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0810257E -_081025AA: - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081025B4: .4byte gUnknown_083ECD16 -_081025B8: .4byte gSharedMem - thumb_func_end sub_8102578 - thumb_func_start sub_81025BC sub_81025BC: @ 81025BC push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index b72c749d0..f6d58e592 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -84,8 +84,8 @@ static bool8 sub_8102424(struct Task *task); static bool8 sub_8102460(struct Task *task); static void sub_8102484(void); static void sub_81024F0(void); -bool8 sub_8102540(void); -u8 sub_8102578(void); +static bool8 sub_8102540(void); +static u8 sub_8102578(void); u8 sub_81025BC(void); void sub_81027A0(void); void sub_8102A24(void); @@ -864,7 +864,7 @@ u8 sub_810250C(u8 a0) return 0; } -bool8 sub_8102540(void) +static bool8 sub_8102540(void) { u8 rval = Random(); if (gUnknown_083ECD04[eSlotMachine->unk01][eSlotMachine->bet - 1] > rval) @@ -874,21 +874,60 @@ bool8 sub_8102540(void) return FALSE; } -//extern const u8 gUnknown_083ECD16[][3]; -// -//u8 sub_8102578(void) -//{ -// s16 i; -// -// for (i = 0; i < 3; i++) -// { -// if ((Random() & 0xff) <= (int)gUnknown_083ECD16[i][eSlotMachine->unk01]) -// { -// break; -// } -// } -// return i; -//} +extern const u8 gUnknown_083ECD16[][3]; + +#ifdef NONMATCHING +static u8 sub_8102578(void) +{ + s16 i; + + for (i = 0; i < 3; i++) + { + if ((Random() & 0xff) <= gUnknown_083ECD16[i][eSlotMachine->unk01]) + { + break; + } + } + return i; +} +#else +static __attribute__((naked)) u8 sub_8102578(void) +{ + asm_unified("\tpush {r4-r6,lr}\n" + "\tmovs r5, 0\n" + "\tldr r6, =gUnknown_083ECD16\n" + "_0810257E:\n" + "\tbl Random\n" + "\tmovs r2, 0xFF\n" + "\tldr r3, =gSharedMem\n" + "\tlsls r1, r5, 16\n" + "\tasrs r4, r1, 16\n" + "\tlsls r1, r4, 1\n" + "\tadds r1, r4\n" + "\tlsls r1, 1\n" + "\tldrb r3, [r3, 0x1]\n" + "\tadds r1, r3\n" + "\tadds r1, r6\n" + "\tldrb r1, [r1]\n" + "\tands r2, r0\n" + "\tcmp r1, r2\n" + "\tbgt _081025AA\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x2\n" + "\tble _0810257E\n" + "_081025AA:\n" + "\tlsls r0, r5, 24\n" + "\tlsrs r0, 24\n" + "\tpop {r4-r6}\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.align 2, 0\n" + "\t.pool"); +} +#endif asm(".section .text_a"); -- cgit v1.2.3 From af86226a5b15ccf1d7d1fea2dc96ff6bba0dc5fc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 23 Dec 2017 19:51:07 -0500 Subject: sub_81025BC and matching sub_8102578 --- asm/slot_machine.s | 76 ------------------------------------------------ src/field/slot_machine.c | 75 +++++++++++++++++++++++------------------------ 2 files changed, 36 insertions(+), 115 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index a6201c22e..423735f9f 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,82 +5,6 @@ .text - thumb_func_start sub_81025BC -sub_81025BC: @ 81025BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, _08102600 @ =gUnknown_083ECD28 - mov r8, r0 - ldr r5, _08102604 @ =gSharedMem - movs r7, 0x80 - lsls r7, 17 -_081025CE: - bl Random - movs r4, 0xFF - ands r4, r0 - lsls r2, r6, 16 - asrs r1, r2, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldrb r3, [r5, 0x1] - adds r0, r3 - add r0, r8 - ldrb r3, [r0] - cmp r1, 0 - bne _08102608 - ldrb r0, [r5, 0x3] - cmp r0, 0x1 - bne _08102608 - adds r3, 0xA - asrs r0, r7, 16 - cmp r3, r0 - ble _08102622 - adds r3, r0, 0 - b _08102622 - .align 2, 0 -_08102600: .4byte gUnknown_083ECD28 -_08102604: .4byte gSharedMem -_08102608: - asrs r0, r2, 16 - cmp r0, 0x4 - bne _08102622 - ldrb r0, [r5, 0x3] - cmp r0, 0x1 - bne _08102622 - lsls r0, r3, 16 - ldr r1, _08102648 @ =0xfff60000 - adds r0, r1 - lsrs r3, r0, 16 - cmp r0, 0 - bge _08102622 - movs r3, 0 -_08102622: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r4 - bgt _08102638 - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081025CE -_08102638: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08102648: .4byte 0xfff60000 - thumb_func_end sub_81025BC - thumb_func_start sub_810264C sub_810264C: @ 810264C push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index f6d58e592..08506a59f 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -874,60 +874,57 @@ static bool8 sub_8102540(void) return FALSE; } -extern const u8 gUnknown_083ECD16[][3]; +extern const u8 gUnknown_083ECD16[][6]; -#ifdef NONMATCHING static u8 sub_8102578(void) { s16 i; for (i = 0; i < 3; i++) { - if ((Random() & 0xff) <= gUnknown_083ECD16[i][eSlotMachine->unk01]) + s16 rval = Random() & 0xff; + s16 value = gUnknown_083ECD16[i][eSlotMachine->unk01]; + if (value > rval) { break; } } return i; } -#else -static __attribute__((naked)) u8 sub_8102578(void) + +extern const u8 gUnknown_083ECD28[][6]; + +u8 sub_81025BC(void) { - asm_unified("\tpush {r4-r6,lr}\n" - "\tmovs r5, 0\n" - "\tldr r6, =gUnknown_083ECD16\n" - "_0810257E:\n" - "\tbl Random\n" - "\tmovs r2, 0xFF\n" - "\tldr r3, =gSharedMem\n" - "\tlsls r1, r5, 16\n" - "\tasrs r4, r1, 16\n" - "\tlsls r1, r4, 1\n" - "\tadds r1, r4\n" - "\tlsls r1, 1\n" - "\tldrb r3, [r3, 0x1]\n" - "\tadds r1, r3\n" - "\tadds r1, r6\n" - "\tldrb r1, [r1]\n" - "\tands r2, r0\n" - "\tcmp r1, r2\n" - "\tbgt _081025AA\n" - "\tadds r0, r4, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r5, r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x2\n" - "\tble _0810257E\n" - "_081025AA:\n" - "\tlsls r0, r5, 24\n" - "\tlsrs r0, 24\n" - "\tpop {r4-r6}\n" - "\tpop {r1}\n" - "\tbx r1\n" - "\t.align 2, 0\n" - "\t.pool"); + s16 i; + + for (i = 0; i < 5; i++) + { + s16 rval = Random() & 0xff; + s16 r3 = gUnknown_083ECD28[i][eSlotMachine->unk01]; + if (i == 0 && eSlotMachine->unk03 == 1) + { + 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; } -#endif asm(".section .text_a"); -- cgit v1.2.3 From 9041e039a728f4d2cb7c4938eb5585441965952f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 23 Dec 2017 20:21:03 -0500 Subject: through sub_8102680 --- asm/slot_machine.s | 78 ------------------------------------------------ src/field/slot_machine.c | 35 +++++++++++++++++++++- 2 files changed, 34 insertions(+), 79 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 423735f9f..4d492fa2a 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,84 +5,6 @@ .text - thumb_func_start sub_810264C -sub_810264C: @ 810264C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, _08102660 @ =gSharedMem - ldrb r0, [r3, 0x3] - cmp r0, 0 - beq _08102668 - ldr r0, _08102664 @ =gUnknown_083ECDAC - b _0810266A - .align 2, 0 -_08102660: .4byte gSharedMem -_08102664: .4byte gUnknown_083ECDAC -_08102668: - ldr r0, _0810267C @ =gUnknown_083ECD46 -_0810266A: - lsls r1, r2, 4 - adds r1, r2 - ldrb r3, [r3, 0x2] - adds r1, r3 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_0810267C: .4byte gUnknown_083ECD46 - thumb_func_end sub_810264C - - thumb_func_start sub_8102680 -sub_8102680: @ 8102680 - push {r4-r6,lr} - ldr r1, _081026A4 @ =gSharedMem - movs r0, 0 - strb r0, [r1, 0x5] - bl Random - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl sub_810264C - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _081026D2 - movs r6, 0x5 - b _081026AE - .align 2, 0 -_081026A4: .4byte gSharedMem -_081026A8: - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_081026AE: - lsls r0, r6, 16 - asrs r5, r0, 16 - cmp r5, 0 - ble _081026CE - bl Random - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_810264C - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _081026A8 -_081026CE: - ldr r0, _081026D8 @ =gSharedMem - strb r6, [r0, 0x5] -_081026D2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081026D8: .4byte gSharedMem - thumb_func_end sub_8102680 - thumb_func_start sub_81026DC sub_81026DC: @ 81026DC push {r4,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 08506a59f..cc8c28654 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -926,6 +926,40 @@ u8 sub_81025BC(void) return i; } +extern const u8 gUnknown_083ECDAC[][17]; +extern const u8 gUnknown_083ECD46[][17]; + +u8 sub_810264C(u8 a0) +{ + if (eSlotMachine->unk03 == 0) + { + return gUnknown_083ECD46[a0][eSlotMachine->unk02]; + } + return gUnknown_083ECDAC[a0][eSlotMachine->unk02]; +} + +void sub_8102680(void) +{ + u8 rval; + s16 i; + + 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; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); @@ -957,7 +991,6 @@ void sub_8104CAC(u8 arg0) { #endif } } - asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From b66b2e49bea686c71b62f0f31470aef09b50a15d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 23 Dec 2017 21:12:07 -0500 Subject: through dp15_jump_random_unknown --- asm/slot_machine.s | 107 ----------------------------------------------- src/field/slot_machine.c | 51 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 107 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 4d492fa2a..dc97ee42f 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,113 +5,6 @@ .text - thumb_func_start sub_81026DC -sub_81026DC: @ 81026DC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - movs r1, 0xFF - ands r1, r0 - ldr r0, _081026FC @ =gUnknown_083ECE12 - lsls r4, 1 - adds r4, r0 - ldrh r4, [r4] - cmp r1, r4 - bcc _08102700 - movs r0, 0 - b _08102702 - .align 2, 0 -_081026FC: .4byte gUnknown_083ECE12 -_08102700: - movs r0, 0x1 -_08102702: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81026DC - - thumb_func_start dp15_jump_random_unknown -dp15_jump_random_unknown: @ 8102708 - push {r4,r5,lr} - movs r4, 0 - ldr r0, _0810271C @ =gSharedMem - movs r2, 0x10 - ldrsh r1, [r0, r2] - ldr r0, _08102720 @ =0x0000012b - cmp r1, r0 - ble _08102724 - movs r4, 0x4 - b _0810273A - .align 2, 0 -_0810271C: .4byte gSharedMem -_08102720: .4byte 0x0000012b -_08102724: - cmp r1, 0xF9 - ble _0810272C - movs r4, 0x3 - b _0810273A -_0810272C: - cmp r1, 0xC7 - ble _08102734 - movs r4, 0x2 - b _0810273A -_08102734: - cmp r1, 0x95 - ble _0810273A - movs r4, 0x1 -_0810273A: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, _0810275C @ =gUnknown_083ECE1C - lsls r4, 2 - adds r0, r4, r5 - ldrb r0, [r0] - cmp r1, r0 - bcs _08102760 - movs r0, 0x4 - b _0810279A - .align 2, 0 -_0810275C: .4byte gUnknown_083ECE1C -_08102760: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - adds r2, r5, 0x2 - adds r2, r4, r2 - ldr r3, _08102790 @ =gUnknown_083ECE30 - ldr r1, _08102794 @ =gSharedMem - ldrb r1, [r1, 0xB] - lsls r1, 1 - adds r1, r3 - ldrb r1, [r1] - ldrb r2, [r2] - adds r1, r2 - lsls r1, 24 - cmp r0, r1 - bcc _08102798 - movs r0, 0x8 - b _0810279A - .align 2, 0 -_08102790: .4byte gUnknown_083ECE30 -_08102794: .4byte gSharedMem -_08102798: - movs r0, 0x2 -_0810279A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end dp15_jump_random_unknown - thumb_func_start sub_81027A0 sub_81027A0: @ 81027A0 push {r4,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index cc8c28654..be6c8746b 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -960,6 +960,57 @@ void sub_8102680(void) eSlotMachine->unk05 = i; } +extern const u16 gUnknown_083ECE12[]; + +bool8 sub_81026DC(u16 a0) +{ + u16 rval = Random() & 0xff; + if (rval < gUnknown_083ECE12[a0]) + { + return TRUE; + } + return FALSE; +} + +extern const u16 gUnknown_083ECE1C[][2]; +extern const u16 gUnknown_083ECE30[]; + +u16 dp15_jump_random_unknown(void) +{ + u8 r4 = 0; + 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; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 482db3566086318c27d1accbe89a96e2f695de5b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 23 Dec 2017 21:33:46 -0500 Subject: sub_81027D0 --- asm/slot_machine.s | 80 ------------------------------------------------ src/field/slot_machine.c | 42 ++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 84 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index dc97ee42f..ea93063ea 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,86 +5,6 @@ .text - thumb_func_start sub_81027A0 -sub_81027A0: @ 81027A0 - push {r4,lr} - ldr r4, _081027CC @ =gSharedMem - movs r0, 0 - strh r0, [r4, 0x8] - bl sub_81027D0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - ble _081027B8 - bl sub_8102840 -_081027B8: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - ble _081027C4 - bl sub_810290C -_081027C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081027CC: .4byte gSharedMem - thumb_func_end sub_81027A0 - - thumb_func_start sub_81027D0 -sub_81027D0: @ 81027D0 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x2 - bl sub_8102BA4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_8102BA4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x2 - bl sub_8102BA4 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81029D4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0810282E - ldr r2, _08102834 @ =gSharedMem - ldr r0, _08102838 @ =gUnknown_083ECE6C - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, _0810283C @ =gUnknown_083ECE5A - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0 - bl sub_8103E04 -_0810282E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08102834: .4byte gSharedMem -_08102838: .4byte gUnknown_083ECE6C -_0810283C: .4byte gUnknown_083ECE5A - thumb_func_end sub_81027D0 - thumb_func_start sub_8102840 sub_8102840: @ 8102840 push {r4,r5,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index be6c8746b..2e47317a5 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -86,10 +86,16 @@ static void sub_8102484(void); static void sub_81024F0(void); static bool8 sub_8102540(void); static u8 sub_8102578(void); -u8 sub_81025BC(void); -void sub_81027A0(void); +u16 dp15_jump_random_unknown(void); +static u8 sub_81025BC(void); +static void sub_81027A0(void); +void sub_81027D0(void); +void sub_8102840(void); +void sub_810290C(void); +u8 sub_81029D4(u8 a0, u8 a1, u8 a2); void sub_8102A24(void); bool8 sub_8102A44(void); +u8 sub_8102BA4(u8 a0, u8 a1); void sub_8102DA8(void); void sub_8102DEC(u8 a0); void sub_8102E1C(u8 a0); @@ -98,6 +104,7 @@ void sub_8103C14(u8 a0); void sub_8103D50(u8 a0); void sub_8103D8C(u8 a0); void sub_8103DC8(void); +void sub_8103E04(u8 a0); void sub_8103F70(void); bool8 sub_8103FA0(void); void sub_8104048(void); @@ -117,7 +124,6 @@ void sub_81050C4(void); void sub_81063C0(void); static void sub_8106448(void); void sub_81064B8(void); -u16 dp15_jump_random_unknown(void); static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { sub_8101D5C, @@ -894,7 +900,7 @@ static u8 sub_8102578(void) extern const u8 gUnknown_083ECD28[][6]; -u8 sub_81025BC(void) +static u8 sub_81025BC(void) { s16 i; @@ -1011,6 +1017,34 @@ u16 dp15_jump_random_unknown(void) return 8; } +static void sub_81027A0(void) +{ + eSlotMachine->unk08 = 0; + sub_81027D0(); + if (eSlotMachine->bet > 1) + { + sub_8102840(); + } + if (eSlotMachine->bet > 2) + { + sub_810290C(); + } +} + +extern const u16 gUnknown_083ECE6C[]; +extern const u16 gUnknown_083ECE5A[]; + +void sub_81027D0(void) +{ + u8 payout = sub_81029D4(sub_8102BA4(0, 2), sub_8102BA4(1, 2), sub_8102BA4(2, 2)); + if (payout != 9) + { + eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; + eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + sub_8103E04(0); + } +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 64c3afb438eb712cca11a374d0025bf3492ccb82 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 24 Dec 2017 20:48:44 -0500 Subject: through sub_810290C --- asm/slot_machine.s | 194 ----------------------------------------------- src/field/slot_machine.c | 73 +++++++++++++++++- 2 files changed, 72 insertions(+), 195 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index ea93063ea..e15bd0b0f 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,200 +5,6 @@ .text - thumb_func_start sub_8102840 -sub_8102840: @ 8102840 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x1 - bl sub_8102BA4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x1 - bl sub_8102BA4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_8102BA4 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81029D4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0810289E - cmp r1, 0 - bne _0810287C - movs r1, 0x1 -_0810287C: - ldr r2, _08102900 @ =gSharedMem - ldr r0, _08102904 @ =gUnknown_083ECE6C - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, _08102908 @ =gUnknown_083ECE5A - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0x1 - bl sub_8103E04 -_0810289E: - movs r0, 0 - movs r1, 0x3 - bl sub_8102BA4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x3 - bl sub_8102BA4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x3 - bl sub_8102BA4 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81029D4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _081028FA - cmp r1, 0 - bne _081028D8 - movs r1, 0x1 -_081028D8: - ldr r2, _08102900 @ =gSharedMem - ldr r0, _08102904 @ =gUnknown_083ECE6C - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, _08102908 @ =gUnknown_083ECE5A - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0x2 - bl sub_8103E04 -_081028FA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08102900: .4byte gSharedMem -_08102904: .4byte gUnknown_083ECE6C -_08102908: .4byte gUnknown_083ECE5A - thumb_func_end sub_8102840 - - thumb_func_start sub_810290C -sub_810290C: @ 810290C - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x1 - bl sub_8102BA4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_8102BA4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x3 - bl sub_8102BA4 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81029D4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _08102968 - cmp r1, 0 - beq _08102962 - ldr r2, _081029C8 @ =gSharedMem - ldr r0, _081029CC @ =gUnknown_083ECE6C - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, _081029D0 @ =gUnknown_083ECE5A - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] -_08102962: - movs r0, 0x3 - bl sub_8103E04 -_08102968: - movs r0, 0 - movs r1, 0x3 - bl sub_8102BA4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_8102BA4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_8102BA4 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81029D4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _081029C2 - cmp r1, 0 - beq _081029BC - ldr r2, _081029C8 @ =gSharedMem - ldr r0, _081029CC @ =gUnknown_083ECE6C - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, _081029D0 @ =gUnknown_083ECE5A - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] -_081029BC: - movs r0, 0x4 - bl sub_8103E04 -_081029C2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081029C8: .4byte gSharedMem -_081029CC: .4byte gUnknown_083ECE6C -_081029D0: .4byte gUnknown_083ECE5A - thumb_func_end sub_810290C - thumb_func_start sub_81029D4 sub_81029D4: @ 81029D4 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 2e47317a5..0a1ab8bb1 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1036,7 +1036,12 @@ extern const u16 gUnknown_083ECE5A[]; void sub_81027D0(void) { - u8 payout = sub_81029D4(sub_8102BA4(0, 2), sub_8102BA4(1, 2), sub_8102BA4(2, 2)); + u8 c1, c2, c3, payout; + + c1 = sub_8102BA4(0, 2); + c2 = sub_8102BA4(1, 2); + c3 = sub_8102BA4(2, 2); + payout = sub_81029D4(c1, c2, c3); if (payout != 9) { eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; @@ -1045,6 +1050,72 @@ void sub_81027D0(void) } } +void sub_8102840(void) +{ + u8 c1, c2, c3, payout; + + c1 = sub_8102BA4(0, 1); + c2 = sub_8102BA4(1, 1); + c3 = sub_8102BA4(2, 1); + payout = sub_81029D4(c1, c2, c3); + if (payout != 9) + { + if (payout == 0) + { + payout = 1; + } + eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; + eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + sub_8103E04(1); + } + c1 = sub_8102BA4(0, 3); + c2 = sub_8102BA4(1, 3); + c3 = sub_8102BA4(2, 3); + payout = sub_81029D4(c1, c2, c3); + if (payout != 9) + { + if (payout == 0) + { + payout = 1; + } + eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; + eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + sub_8103E04(2); + } +} + +void sub_810290C(void) +{ + u8 c1, c2, c3, payout; + + c1 = sub_8102BA4(0, 1); + c2 = sub_8102BA4(1, 2); + c3 = sub_8102BA4(2, 3); + payout = sub_81029D4(c1, c2, c3); + if (payout != 9) + { + if (payout != 0) + { + eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; + eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + } + sub_8103E04(3); + } + c1 = sub_8102BA4(0, 3); + c2 = sub_8102BA4(1, 2); + c3 = sub_8102BA4(2, 1); + payout = sub_81029D4(c1, c2, c3); + if (payout != 9) + { + if (payout != 0) + { + eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; + eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + } + sub_8103E04(4); + } +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 7d311d0f747dc5c7c194f436d1b90181bee3cc66 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 24 Dec 2017 21:42:08 -0500 Subject: through sub_8102BA4 --- asm/slot_machine.s | 300 ----------------------------------------------- include/slot_machine.h | 2 +- src/field/slot_machine.c | 121 ++++++++++++++++++- 3 files changed, 121 insertions(+), 302 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index e15bd0b0f..1159eb897 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,306 +5,6 @@ .text - thumb_func_start sub_81029D4 -sub_81029D4: @ 81029D4 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r3, r1 - bne _081029F8 - cmp r3, r2 - bne _081029F8 - ldr r0, _081029F4 @ =gUnknown_083ECE52 - adds r0, r3, r0 - ldrb r0, [r0] - b _08102A1E - .align 2, 0 -_081029F4: .4byte gUnknown_083ECE52 -_081029F8: - cmp r3, 0 - bne _08102A04 - cmp r1, 0 - bne _08102A04 - cmp r2, 0x1 - beq _08102A10 -_08102A04: - cmp r3, 0x1 - bne _08102A14 - cmp r1, 0x1 - bne _08102A14 - cmp r2, 0 - bne _08102A14 -_08102A10: - movs r0, 0x6 - b _08102A1E -_08102A14: - cmp r3, 0x4 - beq _08102A1C - movs r0, 0x9 - b _08102A1E -_08102A1C: - movs r0, 0 -_08102A1E: - pop {r1} - bx r1 - thumb_func_end sub_81029D4 - - thumb_func_start sub_8102A24 -sub_8102A24: @ 8102A24 - push {r4,lr} - ldr r4, _08102A40 @ =sub_8102A64 - adds r0, r4, 0 - movs r1, 0x4 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08102A40: .4byte sub_8102A64 - thumb_func_end sub_8102A24 - - thumb_func_start sub_8102A44 -sub_8102A44: @ 8102A44 - push {lr} - ldr r0, _08102A58 @ =sub_8102A64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08102A5C - movs r0, 0 - b _08102A5E - .align 2, 0 -_08102A58: .4byte sub_8102A64 -_08102A5C: - movs r0, 0x1 -_08102A5E: - pop {r1} - bx r1 - thumb_func_end sub_8102A44 - - thumb_func_start sub_8102A64 -sub_8102A64: @ 8102A64 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08102A94 @ =gUnknown_083ECB20 - ldr r2, _08102A98 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08102A76: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08102A76 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08102A94: .4byte gUnknown_083ECB20 -_08102A98: .4byte gTasks - thumb_func_end sub_8102A64 - - thumb_func_start sub_8102A9C -sub_8102A9C: @ 8102A9C - push {r4,lr} - adds r4, r0, 0 - bl sub_8103E38 - lsls r0, 24 - cmp r0, 0 - beq _08102AC8 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _08102AC4 @ =gSharedMem - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08102AC8 - movs r0, 0x2 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _08102ACA - .align 2, 0 -_08102AC4: .4byte gSharedMem -_08102AC8: - movs r0, 0 -_08102ACA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8102A9C - - thumb_func_start sub_8102AD0 -sub_8102AD0: @ 8102AD0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08102B22 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08102AF6 - movs r0, 0x15 - bl PlaySE -_08102AF6: - ldr r2, _08102B70 @ =gSharedMem - ldrh r0, [r2, 0xE] - subs r0, 0x1 - strh r0, [r2, 0xE] - ldrh r3, [r2, 0xC] - movs r0, 0xC - ldrsh r1, [r2, r0] - ldr r0, _08102B74 @ =0x0000270e - cmp r1, r0 - bgt _08102B0E - adds r0, r3, 0x1 - strh r0, [r2, 0xC] -_08102B0E: - movs r0, 0x8 - strh r0, [r4, 0xA] - ldr r0, _08102B78 @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08102B22 - movs r0, 0x4 - strh r0, [r4, 0xA] -_08102B22: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08102B58 - ldr r0, _08102B78 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08102B58 - movs r0, 0x15 - bl PlaySE - ldr r1, _08102B70 @ =gSharedMem - ldrh r0, [r1, 0xE] - ldrh r2, [r1, 0xC] - adds r0, r2 - strh r0, [r1, 0xC] - lsls r0, 16 - asrs r0, 16 - ldr r2, _08102B7C @ =0x0000270f - cmp r0, r2 - ble _08102B54 - strh r2, [r1, 0xC] -_08102B54: - movs r0, 0 - strh r0, [r1, 0xE] -_08102B58: - ldr r0, _08102B70 @ =gSharedMem - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08102B68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08102B68: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102B70: .4byte gSharedMem -_08102B74: .4byte 0x0000270e -_08102B78: .4byte gMain -_08102B7C: .4byte 0x0000270f - thumb_func_end sub_8102AD0 - - thumb_func_start sub_8102B80 -sub_8102B80: @ 8102B80 - push {lr} - bl sub_8103E7C - lsls r0, 24 - cmp r0, 0 - beq _08102B9A - ldr r0, _08102BA0 @ =sub_8102A64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08102B9A: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08102BA0: .4byte sub_8102A64 - thumb_func_end sub_8102B80 - - thumb_func_start sub_8102BA4 -sub_8102BA4: @ 8102BA4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, _08102BF0 @ =gSharedMem - lsls r2, r4, 1 - adds r0, 0x28 - adds r2, r0 - movs r3, 0 - ldrsh r0, [r2, r3] - lsls r1, 16 - asrs r1, 16 - adds r0, r1 - movs r1, 0x15 - bl __modsi3 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08102BD4 - adds r0, 0x15 - lsls r0, 16 - lsrs r1, r0, 16 -_08102BD4: - ldr r2, _08102BF4 @ =gUnknown_083ECCB2 - lsls r1, 16 - asrs r1, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r0, r4 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102BF0: .4byte gSharedMem -_08102BF4: .4byte gUnknown_083ECCB2 - thumb_func_end sub_8102BA4 - thumb_func_start sub_8102BF8 sub_8102BF8: @ 8102BF8 push {r4-r6,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 0e7efaf29..738866318 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -14,7 +14,7 @@ struct SlotMachineEwramStruct { /*0x0A*/ u8 unk0A; /*0x0B*/ u8 unk0B; /*0x0C*/ s16 coins; - /*0x0E*/ u16 unk0E; + /*0x0E*/ s16 unk0E; /*0x10*/ s16 unk10; /*0x12*/ s16 bet; /*0x14*/ u8 filler14[4]; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 0a1ab8bb1..bd259129d 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -95,7 +95,7 @@ void sub_810290C(void); u8 sub_81029D4(u8 a0, u8 a1, u8 a2); void sub_8102A24(void); bool8 sub_8102A44(void); -u8 sub_8102BA4(u8 a0, u8 a1); +u8 sub_8102BA4(u8 a0, s16 a1); void sub_8102DA8(void); void sub_8102DEC(u8 a0); void sub_8102E1C(u8 a0); @@ -105,6 +105,8 @@ void sub_8103D50(u8 a0); void sub_8103D8C(u8 a0); void sub_8103DC8(void); void sub_8103E04(u8 a0); +bool8 sub_8103E38(void); +bool8 sub_8103E7C(void); void sub_8103F70(void); bool8 sub_8103FA0(void); void sub_8104048(void); @@ -1116,6 +1118,123 @@ void sub_810290C(void) } } +extern const u8 gUnknown_083ECE52[]; + +u8 sub_81029D4(u8 c1, u8 c2, u8 c3) +{ + if (c1 == c2 && c1 == c3) + { + return gUnknown_083ECE52[c1]; + } + if (c1 == 0 && c2 == 0 && c3 == 1) + { + return 6; + } + if (c1 == 1 && c2 == 1 && c3 == 0) + { + return 6; + } + if (c1 == 4) + { + return 0; + } + return 9; +} + +void sub_8102A64(u8 taskId); + +void sub_8102A24(void) +{ + sub_8102A64(CreateTask(sub_8102A64, 4)); +} + +bool8 sub_8102A44(void) +{ + if (FindTaskIdByFunc(sub_8102A64) == 0xff) + { + return TRUE; + } + return FALSE; +} + +extern bool8 (*const gUnknown_083ECB20[])(struct Task *task); + +void sub_8102A64(u8 taskId) +{ + while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId)); +} + +bool8 sub_8102A9C(struct Task *task) +{ + if (sub_8103E38()) + { + task->data[0]++; + if (eSlotMachine->unk0E == 0) + { + task->data[0] = 2; + return TRUE; + } + } + return FALSE; +} + +bool8 sub_8102AD0(struct Task *task) +{ + if (!task->data[1]--) + { + if (IsFanfareTaskInactive()) + { + PlaySE(SE_PIN); + } + eSlotMachine->unk0E--; + 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->unk0E; + if (eSlotMachine->coins > 9999) + { + eSlotMachine->coins = 9999; + } + eSlotMachine->unk0E = 0; + } + if (eSlotMachine->unk0E == 0) + { + task->data[0]++; + } + return FALSE; +} + +bool8 sub_8102B80(struct Task *task) +{ + if (sub_8103E7C()) + { + DestroyTask(FindTaskIdByFunc(sub_8102A64)); + } + return FALSE; +} + +extern const u8 gUnknown_083ECCB2[][21]; + +u8 sub_8102BA4(u8 x, s16 y) +{ + s16 offset = (eSlotMachine->unk28[x] + y) % 21; + if (offset < 0) + { + offset += 21; + } + return gUnknown_083ECCB2[x][offset]; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 22d0b82ee547a46c4673cf8c9039c68b2a6d7f0b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 26 Dec 2017 19:35:16 -0500 Subject: sub_8102BF8 --- asm/slot_machine.s | 41 ----------------------------------------- src/field/slot_machine.c | 8 ++++++++ 2 files changed, 8 insertions(+), 41 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 1159eb897..d12c6ef9c 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,47 +5,6 @@ .text - thumb_func_start sub_8102BF8 -sub_8102BF8: @ 8102BF8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r6, 0 - ldr r0, _08102C40 @ =gSharedMem - lsls r1, r5, 1 - adds r0, 0x1C - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - beq _08102C20 - ldr r6, _08102C44 @ =0x0000ffff -_08102C20: - lsls r1, r4, 16 - asrs r1, 16 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_8102BA4 - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08102C40: .4byte gSharedMem -_08102C44: .4byte 0x0000ffff - thumb_func_end sub_8102BF8 - thumb_func_start sub_8102C48 sub_8102C48: @ 8102C48 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index bd259129d..9e3d70727 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1235,6 +1235,14 @@ u8 sub_8102BA4(u8 x, s16 y) return gUnknown_083ECCB2[x][offset]; } +u8 sub_8102BF8(u8 x, s16 y) +{ + s16 r6 = 0; + if ((eSlotMachine->unk1C[x]) % 24) + r6 = -1; + return sub_8102BA4(x, y + r6); +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From a3b25543b3d85a5f88284752367abd6ed713f82b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 26 Dec 2017 20:37:55 -0500 Subject: through sub_8102DEC --- asm/slot_machine.s | 249 ----------------------------------------------- include/slot_machine.h | 6 +- src/field/slot_machine.c | 100 ++++++++++++++++--- 3 files changed, 88 insertions(+), 267 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index d12c6ef9c..32299d7d0 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,255 +5,6 @@ .text - thumb_func_start sub_8102C48 -sub_8102C48: @ 8102C48 - push {lr} - ldr r1, _08102C7C @ =gSharedMem - movs r2, 0x16 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - adds r1, r0 - adds r0, r1, 0 - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08102C6E - adds r0, 0x6 - lsls r0, 16 - lsrs r1, r0, 16 -_08102C6E: - ldr r0, _08102C80 @ =gUnknown_083ECCF1 - lsls r1, 16 - asrs r1, 16 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_08102C7C: .4byte gSharedMem -_08102C80: .4byte gUnknown_083ECCF1 - thumb_func_end sub_8102C48 - - thumb_func_start sub_8102C84 -sub_8102C84: @ 8102C84 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - ldr r6, _08102CC8 @ =gSharedMem - lsrs r5, 23 - adds r4, r6, 0 - adds r4, 0x1C - adds r4, r5, r4 - lsls r1, 16 - asrs r1, 16 - ldrh r0, [r4] - adds r1, r0 - strh r1, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0xFC - lsls r1, 1 - bl __modsi3 - strh r0, [r4] - adds r6, 0x28 - adds r5, r6 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl __divsi3 - movs r1, 0x15 - subs r1, r0 - strh r1, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08102CC8: .4byte gSharedMem - thumb_func_end sub_8102C84 - - thumb_func_start sub_8102CCC -sub_8102CCC: @ 8102CCC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r0, _08102D24 @ =gSharedMem - lsls r1, r6, 1 - adds r0, 0x1C - adds r5, r1, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r2, r0, 16 - asrs r1, r2, 16 - cmp r1, 0 - beq _08102D18 - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - bge _08102D00 - lsrs r4, r2, 16 -_08102D00: - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r6, 0 - bl sub_8102C84 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 -_08102D18: - lsls r0, 16 - asrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08102D24: .4byte gSharedMem - thumb_func_end sub_8102CCC - - thumb_func_start sub_8102D28 -sub_8102D28: @ 8102D28 - push {r4,lr} - ldr r4, _08102D58 @ =gSharedMem - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4, 0x14] - adds r0, r1 - strh r0, [r4, 0x14] - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl __modsi3 - strh r0, [r4, 0x14] - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl __divsi3 - movs r1, 0x6 - subs r1, r0 - strh r1, [r4, 0x16] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08102D58: .4byte gSharedMem - thumb_func_end sub_8102D28 - - thumb_func_start sub_8102D5C -sub_8102D5C: @ 8102D5C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r5, _08102DA4 @ =gSharedMem - movs r1, 0x14 - ldrsh r0, [r5, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r2, r0, 16 - asrs r1, r2, 16 - cmp r1, 0 - beq _08102D9A - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - bge _08102D84 - lsrs r4, r2, 16 -_08102D84: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_8102D28 - movs r1, 0x14 - ldrsh r0, [r5, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 -_08102D9A: - lsls r0, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08102DA4: .4byte gSharedMem - thumb_func_end sub_8102D5C - - thumb_func_start sub_8102DA8 -sub_8102DA8: @ 8102DA8 - push {r4-r7,lr} - movs r4, 0 - ldr r5, _08102DE0 @ =sub_8102E68 - ldr r7, _08102DE4 @ =gTasks - ldr r6, _08102DE8 @ =gSharedMem + 0x3A -_08102DB2: - adds r0, r5, 0 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r7 - strh r4, [r1, 0x26] - adds r1, r4, r6 - strb r0, [r1] - bl _call_via_r5 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08102DB2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08102DE0: .4byte sub_8102E68 -_08102DE4: .4byte gTasks -_08102DE8: .4byte gSharedMem + 0x3A - thumb_func_end sub_8102DA8 - - thumb_func_start sub_8102DEC -sub_8102DEC: @ 8102DEC - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08102E14 @ =gTasks - ldr r1, _08102E18 @ =gSharedMem - adds r1, 0x3A - adds r0, r1 - ldrb r2, [r0] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r3 - movs r2, 0x1 - strh r2, [r1, 0x8] - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r2, [r0, 0x24] - bx lr - .align 2, 0 -_08102E14: .4byte gTasks -_08102E18: .4byte gSharedMem - thumb_func_end sub_8102DEC - thumb_func_start sub_8102E1C sub_8102E1C: @ 8102E1C lsls r0, 24 diff --git a/include/slot_machine.h b/include/slot_machine.h index 738866318..c5e14f719 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -17,13 +17,15 @@ struct SlotMachineEwramStruct { /*0x0E*/ s16 unk0E; /*0x10*/ s16 unk10; /*0x12*/ s16 bet; - /*0x14*/ u8 filler14[4]; + /*0x14*/ s16 unk14; + /*0x16*/ s16 unk16; /*0x18*/ s16 unk18; /*0x1A*/ u16 unk1A; /*0x1C*/ s16 unk1C[3]; /*0x22*/ u16 unk22[3]; /*0x28*/ s16 unk28[3]; - /*0x2E*/ u8 filler2E[15]; + /*0x2E*/ u8 filler2E[12]; + /*0x3A*/ u8 unk3A[3]; /*0x3D*/ u8 unk3D; /*0x3E*/ u8 filler3E[26]; /*0x58*/ u16 win0h; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 9e3d70727..6f1e7610a 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -89,17 +89,19 @@ static u8 sub_8102578(void); u16 dp15_jump_random_unknown(void); static u8 sub_81025BC(void); static void sub_81027A0(void); -void sub_81027D0(void); -void sub_8102840(void); -void sub_810290C(void); -u8 sub_81029D4(u8 a0, u8 a1, u8 a2); -void sub_8102A24(void); +static void sub_81027D0(void); +static void sub_8102840(void); +static void sub_810290C(void); +static u8 sub_81029D4(u8 c1, u8 c2, u8 c3); +static void sub_8102A24(void); +static void sub_8102A64(u8 taskId); bool8 sub_8102A44(void); -u8 sub_8102BA4(u8 a0, s16 a1); -void sub_8102DA8(void); -void sub_8102DEC(u8 a0); +u8 sub_8102BA4(u8 x, s16 y); +static void sub_8102DA8(void); +static void sub_8102DEC(u8 a0); void sub_8102E1C(u8 a0); bool8 sub_8102E40(u8 a0); +void sub_8102E68(u8 taskId); void sub_8103C14(u8 a0); void sub_8103D50(u8 a0); void sub_8103D8C(u8 a0); @@ -1036,7 +1038,7 @@ static void sub_81027A0(void) extern const u16 gUnknown_083ECE6C[]; extern const u16 gUnknown_083ECE5A[]; -void sub_81027D0(void) +static void sub_81027D0(void) { u8 c1, c2, c3, payout; @@ -1052,7 +1054,7 @@ void sub_81027D0(void) } } -void sub_8102840(void) +static void sub_8102840(void) { u8 c1, c2, c3, payout; @@ -1086,7 +1088,7 @@ void sub_8102840(void) } } -void sub_810290C(void) +static void sub_810290C(void) { u8 c1, c2, c3, payout; @@ -1120,7 +1122,7 @@ void sub_810290C(void) extern const u8 gUnknown_083ECE52[]; -u8 sub_81029D4(u8 c1, u8 c2, u8 c3) +static u8 sub_81029D4(u8 c1, u8 c2, u8 c3) { if (c1 == c2 && c1 == c3) { @@ -1141,9 +1143,7 @@ u8 sub_81029D4(u8 c1, u8 c2, u8 c3) return 9; } -void sub_8102A64(u8 taskId); - -void sub_8102A24(void) +static void sub_8102A24(void) { sub_8102A64(CreateTask(sub_8102A64, 4)); } @@ -1159,7 +1159,7 @@ bool8 sub_8102A44(void) extern bool8 (*const gUnknown_083ECB20[])(struct Task *task); -void sub_8102A64(u8 taskId) +static void sub_8102A64(u8 taskId) { while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId)); } @@ -1243,6 +1243,74 @@ u8 sub_8102BF8(u8 x, s16 y) return sub_8102BA4(x, y + r6); } +extern const u8 gUnknown_083ECCF1[]; + +u8 sub_8102C48(s16 a0) +{ + s16 r1 = (eSlotMachine->unk16 + a0) % 6; + if (r1 < 0) + r1 += 6; + return gUnknown_083ECCF1[r1]; +} + +void sub_8102C84(u8 a0, s16 a1) +{ + eSlotMachine->unk1C[a0] += a1; + eSlotMachine->unk1C[a0] %= 504; + eSlotMachine->unk28[a0] = 21 - eSlotMachine->unk1C[a0] / 24; +} + +s16 sub_8102CCC(u8 a0, s16 a1) +{ + s16 r1 = eSlotMachine->unk1C[a0] % 24; + if (r1 != 0) + { + if (r1 < a1) + a1 = r1; + sub_8102C84(a0, a1); + r1 = eSlotMachine->unk1C[a0] % 24; + } + return r1; +} + +void sub_8102D28(s16 a0) +{ + eSlotMachine->unk14 += a0; + eSlotMachine->unk14 %= 120; + eSlotMachine->unk16 = 6 - eSlotMachine->unk14 / 20; +} + +s16 sub_8102D5C(s16 a0) +{ + s16 r1 = eSlotMachine->unk14 % 20; + if (r1 != 0) + { + if (r1 < a0) + a0 = r1; + sub_8102D28(a0); + r1 = eSlotMachine->unk14 % 20; + } + return r1; +} + +static void sub_8102DA8(void) +{ + u8 i; + for (i = 0; i < 3; i++) + { + u8 taskId = CreateTask(sub_8102E68, 2); + gTasks[taskId].data[15] = i; + eSlotMachine->unk3A[i] = taskId; + sub_8102E68(taskId); + } +} + +static void sub_8102DEC(u8 a0) +{ + gTasks[eSlotMachine->unk3A[a0]].data[0] = 1; + gTasks[eSlotMachine->unk3A[a0]].data[14] = 1; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 3a51ad2c81b0c479c2621e81ae13d28f3f90fc48 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 26 Dec 2017 20:48:28 -0500 Subject: through sub_8102EA4 --- asm/slot_machine.s | 96 ------------------------------------------------ src/field/slot_machine.c | 30 ++++++++++++++- 2 files changed, 29 insertions(+), 97 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 32299d7d0..da1413838 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,102 +5,6 @@ .text - thumb_func_start sub_8102E1C -sub_8102E1C: @ 8102E1C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08102E38 @ =gTasks - ldr r1, _08102E3C @ =gSharedMem - adds r1, 0x3A - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - bx lr - .align 2, 0 -_08102E38: .4byte gTasks -_08102E3C: .4byte gSharedMem - thumb_func_end sub_8102E1C - - thumb_func_start sub_8102E40 -sub_8102E40: @ 8102E40 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08102E60 @ =gTasks - ldr r1, _08102E64 @ =gSharedMem - adds r1, 0x3A - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x24] - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_08102E60: .4byte gTasks -_08102E64: .4byte gSharedMem - thumb_func_end sub_8102E40 - - thumb_func_start sub_8102E68 -sub_8102E68: @ 8102E68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08102E98 @ =gUnknown_083ECB2C - ldr r2, _08102E9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08102E7A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08102E7A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08102E98: .4byte gUnknown_083ECB2C -_08102E9C: .4byte gTasks - thumb_func_end sub_8102E68 - - thumb_func_start sub_8102EA0 -sub_8102EA0: @ 8102EA0 - movs r0, 0 - bx lr - thumb_func_end sub_8102EA0 - - thumb_func_start sub_8102EA4 -sub_8102EA4: @ 8102EA4 - push {lr} - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08102EBC @ =gSharedMem - movs r2, 0x1A - ldrsh r1, [r1, r2] - bl sub_8102C84 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08102EBC: .4byte gSharedMem - thumb_func_end sub_8102EA4 - thumb_func_start sub_8102EC0 sub_8102EC0: @ 8102EC0 push {r4,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 6f1e7610a..55bbaef3a 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -99,7 +99,7 @@ bool8 sub_8102A44(void); u8 sub_8102BA4(u8 x, s16 y); static void sub_8102DA8(void); static void sub_8102DEC(u8 a0); -void sub_8102E1C(u8 a0); +static void sub_8102E1C(u8 a0); bool8 sub_8102E40(u8 a0); void sub_8102E68(u8 taskId); void sub_8103C14(u8 a0); @@ -1311,6 +1311,34 @@ static void sub_8102DEC(u8 a0) gTasks[eSlotMachine->unk3A[a0]].data[14] = 1; } +static void sub_8102E1C(u8 a0) +{ + gTasks[eSlotMachine->unk3A[a0]].data[0] = 2; +} + +bool8 sub_8102E40(u8 a0) +{ + return gTasks[eSlotMachine->unk3A[a0]].data[14]; +} + +extern bool8 (*const gUnknown_083ECB2C[])(struct Task *task); + +void sub_8102E68(u8 taskId) +{ + while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId)); +} + +bool8 sub_8102EA0(struct Task *task) +{ + return FALSE; +} + +bool8 sub_8102EA4(struct Task *task) +{ + sub_8102C84(task->data[15], eSlotMachine->unk1A); + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From da62907ec54f400646416f38ef02bd7f03d5dbc4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 26 Dec 2017 21:25:47 -0500 Subject: through sub_8103008 --- asm/slot_machine.s | 214 ----------------------------------------------- data/slot_machine.s | 2 +- include/slot_machine.h | 3 +- src/field/slot_machine.c | 63 ++++++++++++++ 4 files changed, 66 insertions(+), 216 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index da1413838..945f894f9 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,220 +5,6 @@ .text - thumb_func_start sub_8102EC0 -sub_8102EC0: @ 8102EC0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x8] - ldr r3, _08102F40 @ =gSharedMem - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r1, r3, 0 - adds r1, 0x34 - adds r0, r1 - strh r2, [r0] - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r1, r3, 0 - adds r1, 0x2E - adds r0, r1 - strh r2, [r0] - ldrb r0, [r3, 0xA] - cmp r0, 0 - bne _08102F28 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _08102F12 - ldrb r0, [r3, 0x6] - cmp r0, 0 - beq _08102F12 - ldr r1, _08102F44 @ =gUnknown_083ECB40 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - cmp r0, 0 - bne _08102F28 -_08102F12: - ldr r1, _08102F40 @ =gSharedMem - movs r0, 0 - strb r0, [r1, 0x6] - ldr r1, _08102F48 @ =gUnknown_083ECB4C - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_08102F28: - ldr r0, _08102F40 @ =gSharedMem - movs r2, 0x26 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r0, 0x2E - adds r1, r0 - ldrh r0, [r1] - strh r0, [r4, 0xA] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102F40: .4byte gSharedMem -_08102F44: .4byte gUnknown_083ECB40 -_08102F48: .4byte gUnknown_083ECB4C - thumb_func_end sub_8102EC0 - - thumb_func_start sub_8102F4C -sub_8102F4C: @ 8102F4C - push {r4-r7,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, _08102F8C @ =gUnknown_083ECB58 - mov r0, sp - movs r2, 0xA - bl memcpy - ldr r5, _08102F90 @ =gSharedMem - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r6, r0, 1 - adds r7, r5, 0 - adds r7, 0x1C - adds r0, r6, r7 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, 0 - beq _08102F94 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x1A - ldrsh r1, [r5, r6] - bl sub_8102CCC - b _08102FC8 - .align 2, 0 -_08102F8C: .4byte gUnknown_083ECB58 -_08102F90: .4byte gSharedMem -_08102F94: - adds r0, r5, 0 - adds r0, 0x2E - adds r1, r6, r0 - ldrh r3, [r1] - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _08102FCC - subs r0, r3, 0x1 - strh r0, [r1] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1A - ldrsh r1, [r5, r2] - bl sub_8102C84 - movs r6, 0x26 - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r7 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 -_08102FC8: - lsls r0, 16 - lsrs r2, r0, 16 -_08102FCC: - cmp r2, 0 - bne _08102FF8 - ldr r1, _08103004 @ =gSharedMem - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r1, 0x2E - adds r0, r1 - movs r6, 0 - ldrsh r1, [r0, r6] - cmp r1, 0 - bne _08102FF8 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] -_08102FF8: - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08103004: .4byte gSharedMem - thumb_func_end sub_8102F4C - - thumb_func_start sub_8103008 -sub_8103008: @ 8103008 - push {r4,lr} - adds r2, r0, 0 - ldr r1, _08103058 @ =gSharedMem - movs r3, 0x26 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r4, r1, 0 - adds r4, 0x22 - adds r0, r4 - ldrh r1, [r2, 0xA] - strh r1, [r0] - ldrh r0, [r2, 0xA] - negs r3, r0 - strh r3, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08103038 - lsls r0, r3, 16 - asrs r0, 17 - strh r0, [r2, 0xA] -_08103038: - movs r0, 0xA - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _0810304E - strh r3, [r2, 0x8] - strh r3, [r2, 0x24] - movs r1, 0x26 - ldrsh r0, [r2, r1] - lsls r0, 1 - adds r0, r4 - strh r3, [r0] -_0810304E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08103058: .4byte gSharedMem - thumb_func_end sub_8103008 - thumb_func_start sub_810305C sub_810305C: @ 810305C push {r4,r5,lr} diff --git a/data/slot_machine.s b/data/slot_machine.s index 827d27747..3d7c6253c 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -30,7 +30,7 @@ gUnknown_083ECB4C:: @ 83ECB4C .4byte sub_810380C .align 1 -gUnknown_083ECB58:: @ 83ECB58 +gUnknown_083ECB58:: @ 83ECB58 (sub_8102F4C) .2byte 2, 4, 4, 4, 8 .align 2 diff --git a/include/slot_machine.h b/include/slot_machine.h index c5e14f719..7fc47bb12 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -24,7 +24,8 @@ struct SlotMachineEwramStruct { /*0x1C*/ s16 unk1C[3]; /*0x22*/ u16 unk22[3]; /*0x28*/ s16 unk28[3]; - /*0x2E*/ u8 filler2E[12]; + /*0x2E*/ s16 unk2E[3]; + /*0x34*/ u16 unk34[3]; /*0x3A*/ u8 unk3A[3]; /*0x3D*/ u8 unk3D; /*0x3E*/ u8 filler3E[26]; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 55bbaef3a..96fa2e18b 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1339,6 +1339,69 @@ bool8 sub_8102EA4(struct Task *task) return FALSE; } +extern bool8 (*const gUnknown_083ECB40[])(void); +extern void (*const gUnknown_083ECB4C[])(void); + +bool8 sub_8102EC0(struct Task *task) +{ + task->data[0]++; + eSlotMachine->unk34[task->data[15]] = 0; + eSlotMachine->unk2E[task->data[15]] = 0; + if (eSlotMachine->unk0A == 0 && (eSlotMachine->unk04 == 0 || eSlotMachine->unk06 == 0 || !gUnknown_083ECB40[task->data[15]]())) + { + eSlotMachine->unk06 = 0; + gUnknown_083ECB4C[task->data[15]](); + } + task->data[1] = eSlotMachine->unk2E[task->data[15]]; + return TRUE; +} + +extern const u16 gUnknown_083ECB58[5]; // don't move this + +bool8 sub_8102F4C(struct Task *task) +{ + s16 r2; + u16 sp[5]; + memcpy(sp, gUnknown_083ECB58, sizeof gUnknown_083ECB58); + // u16 sp[] = {2, 4, 4, 4, 8}; + 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]]--; + sub_8102C84(task->data[15], eSlotMachine->unk1A); + r2 = eSlotMachine->unk1C[task->data[15]] % 24; + } + if (r2 == 0 && eSlotMachine->unk2E[task->data[15]] == 0) + { + task->data[0]++; + task->data[1] = sp[task->data[1]]; + task->data[2] = 0; + } + return FALSE; +} + +bool8 sub_8103008(struct Task *task) +{ + eSlotMachine->unk22[task->data[15]] = task->data[1]; + 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; + task->data[14] = 0; + eSlotMachine->unk22[task->data[15]] = 0; + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From a161d7e816ecf99cae3bf8c690d665f04d2a9ecd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 26 Dec 2017 21:50:35 -0500 Subject: through sub_8103134 --- asm/slot_machine.s | 139 ----------------------------------------------- src/field/slot_machine.c | 43 +++++++++++++++ 2 files changed, 43 insertions(+), 139 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 945f894f9..43993c46c 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,145 +5,6 @@ .text - thumb_func_start sub_810305C -sub_810305C: @ 810305C - push {r4,r5,lr} - ldr r4, _0810309C @ =gSharedMem - ldrb r0, [r4, 0x4] - bl sub_810250C - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - ldrb r1, [r4, 0x4] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _0810307A - movs r5, 0 - movs r3, 0x1 -_0810307A: - ldr r1, _081030A0 @ =gUnknown_083ECB64 - movs r2, 0x12 - ldrsh r0, [r4, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r3, 0 - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810309C: .4byte gSharedMem -_081030A0: .4byte gUnknown_083ECB64 - thumb_func_end sub_810305C - - thumb_func_start sub_81030A4 -sub_81030A4: @ 81030A4 - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 16 - asrs r3, 16 - movs r0, 0 - adds r1, r3, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, r4 - beq _081030CC - cmp r0, r5 - bne _081030D8 -_081030CC: - ldr r0, _081030D4 @ =gSharedMem - strb r1, [r0, 0x7] - movs r0, 0x1 - b _081030DA - .align 2, 0 -_081030D4: .4byte gSharedMem -_081030D8: - movs r0, 0 -_081030DA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81030A4 - - thumb_func_start sub_81030E0 -sub_81030E0: @ 81030E0 - push {r4,lr} - movs r1, 0x1 - lsls r0, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _08103128 - movs r1, 0x2 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _08103128 - movs r1, 0x3 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0810312C -_08103128: - movs r0, 0x1 - b _0810312E -_0810312C: - movs r0, 0 -_0810312E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81030E0 - - thumb_func_start sub_8103134 -sub_8103134: @ 8103134 - push {lr} - ldr r0, _08103148 @ =gSharedMem - ldrb r1, [r0, 0x4] - movs r0, 0xC2 - ands r0, r1 - cmp r0, 0 - bne _0810314C - movs r0, 0 - b _0810314E - .align 2, 0 -_08103148: .4byte gSharedMem -_0810314C: - movs r0, 0x1 -_0810314E: - pop {r1} - bx r1 - thumb_func_end sub_8103134 - thumb_func_start sub_8103154 sub_8103154: @ 8103154 push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 96fa2e18b..7fab44c30 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1402,6 +1402,49 @@ bool8 sub_8103008(struct Task *task) return FALSE; } +extern bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1); + +bool8 sub_810305C(void) +{ + u8 r3 = sub_810250C(eSlotMachine->unk04); + u8 r5 = r3; + if (eSlotMachine->unk04 & 0xc0) + { + r5 = 0; + r3 = 1; + } + return gUnknown_083ECB64[eSlotMachine->bet - 1](r5, r3); +} + +bool8 sub_81030A4(s16 a0, u8 a1, u8 a2) +{ + u8 r1 = sub_8102BF8(0, a0); + if (r1 == a1 || r1 == a2) + { + eSlotMachine->unk07 = r1; + return TRUE; + } + return FALSE; +} + +bool8 sub_81030E0(s16 a0) +{ + if (sub_8102BF8(0, 1 - a0) == 4 || sub_8102BF8(0, 2 - a0) == 4 || sub_8102BF8(0, 3 - a0) == 4) + { + return TRUE; + } + return FALSE; +} + +bool8 sub_8103134(void) +{ + if (eSlotMachine->unk04 & 0xc2) + { + return TRUE; + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 4bd55a4f027410a7caf50933d9b7e1da14ce73da Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 27 Dec 2017 22:01:52 -0500 Subject: through sub_81032E8 --- asm/slot_machine.s | 264 ----------------------------------------------- include/slot_machine.h | 2 +- src/field/slot_machine.c | 84 +++++++++++++++ 3 files changed, 85 insertions(+), 265 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 43993c46c..c3e802291 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,270 +5,6 @@ .text - thumb_func_start sub_8103154 -sub_8103154: @ 8103154 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - movs r5, 0 - movs r0, 0x2 - mov r9, r0 - ldr r6, _08103194 @ =gSharedMem -_0810316E: - lsls r0, r5, 16 - asrs r4, r0, 16 - mov r1, r9 - subs r0, r1, r4 - lsls r0, 16 - asrs r0, 16 - mov r1, r8 - adds r2, r7, 0 - bl sub_81030A4 - lsls r0, 24 - cmp r0, 0 - beq _08103198 - movs r0, 0x2 - strh r0, [r6, 0x34] - strh r5, [r6, 0x2E] - movs r0, 0x1 - b _081031A6 - .align 2, 0 -_08103194: .4byte gSharedMem -_08103198: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0810316E - movs r0, 0 -_081031A6: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8103154 - - thumb_func_start sub_81031B4 -sub_81031B4: @ 81031B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - bl sub_8103134 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _081031E2 - movs r0, 0 - bl sub_81030E0 - lsls r0, 24 - cmp r0, 0 - bne _0810321E -_081031E2: - movs r0, 0x1 - mov r8, r0 - ldr r5, _0810320C @ =gSharedMem - movs r7, 0 -_081031EA: - mov r1, r8 - lsls r0, r1, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - mov r1, r10 - mov r2, r9 - bl sub_81030A4 - lsls r0, 24 - cmp r0, 0 - beq _08103210 - mov r0, r8 - strh r0, [r5, 0x34] - strh r7, [r5, 0x2E] - movs r0, 0x1 - b _081032B2 - .align 2, 0 -_0810320C: .4byte gSharedMem -_08103210: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - mov r8, r1 - asrs r0, 16 - cmp r0, 0x3 - ble _081031EA -_0810321E: - movs r0, 0x1 - mov r8, r0 - adds r7, r6, 0 - ldr r6, _0810326C @ =gSharedMem -_08103226: - mov r1, r8 - lsls r5, r1, 16 - cmp r7, 0 - bne _0810323A - asrs r0, r5, 16 - bl sub_81030E0 - lsls r0, 24 - cmp r0, 0 - bne _081032A0 -_0810323A: - movs r0, 0x1 - asrs r4, r5, 16 - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - mov r1, r10 - mov r2, r9 - bl sub_81030A4 - lsls r0, 24 - cmp r0, 0 - beq _081032A0 - cmp r4, 0x1 - bne _08103270 - cmp r7, 0 - bne _08103266 - movs r0, 0x3 - bl sub_81030E0 - lsls r0, 24 - cmp r0, 0 - bne _08103270 -_08103266: - movs r0, 0x3 - strh r0, [r6, 0x34] - b _0810329A - .align 2, 0 -_0810326C: .4byte gSharedMem -_08103270: - asrs r0, r5, 16 - cmp r0, 0x3 - bgt _08103294 - adds r4, r0, 0x1 - cmp r7, 0 - bne _0810328A - lsls r0, r4, 16 - asrs r0, 16 - bl sub_81030E0 - lsls r0, 24 - cmp r0, 0 - bne _08103294 -_0810328A: - movs r0, 0x2 - strh r0, [r6, 0x34] - strh r4, [r6, 0x2E] - movs r0, 0x1 - b _081032B2 -_08103294: - movs r0, 0x1 - strh r0, [r6, 0x34] - mov r0, r8 -_0810329A: - strh r0, [r6, 0x2E] - movs r0, 0x1 - b _081032B2 -_081032A0: - movs r1, 0x80 - lsls r1, 9 - adds r0, r5, r1 - lsrs r1, r0, 16 - mov r8, r1 - asrs r0, 16 - cmp r0, 0x4 - ble _08103226 - movs r0, 0 -_081032B2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81031B4 - - thumb_func_start sub_81032C0 -sub_81032C0: @ 81032C0 - push {lr} - ldr r1, _081032E0 @ =gUnknown_083ECB70 - ldr r0, _081032E4 @ =gSharedMem - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_081032E0: .4byte gUnknown_083ECB70 -_081032E4: .4byte gSharedMem - thumb_func_end sub_81032C0 - - thumb_func_start sub_81032E8 -sub_81032E8: @ 81032E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08103320 @ =gSharedMem - movs r6, 0 - ldrh r1, [r0, 0x34] - mov r8, r1 - movs r1, 0x34 - ldrsh r7, [r0, r1] - adds r5, r0, 0 -_081032FC: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x7] - cmp r0, r1 - bne _08103324 - mov r0, r8 - strh r0, [r5, 0x36] - strh r6, [r5, 0x30] - movs r0, 0x1 - b _08103332 - .align 2, 0 -_08103320: .4byte gSharedMem -_08103324: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081032FC - movs r0, 0 -_08103332: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81032E8 - thumb_func_start sub_810333C sub_810333C: @ 810333C push {r4-r7,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 7fc47bb12..203f3bbfc 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -25,7 +25,7 @@ struct SlotMachineEwramStruct { /*0x22*/ u16 unk22[3]; /*0x28*/ s16 unk28[3]; /*0x2E*/ s16 unk2E[3]; - /*0x34*/ u16 unk34[3]; + /*0x34*/ s16 unk34[3]; /*0x3A*/ u8 unk3A[3]; /*0x3D*/ u8 unk3D; /*0x3E*/ u8 filler3E[26]; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 7fab44c30..469753726 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1445,6 +1445,90 @@ bool8 sub_8103134(void) return FALSE; } +bool8 sub_8103154(u8 a0, u8 a1) +{ + s16 i; + + for (i = 0; i < 5; i++) + { + if (sub_81030A4(2 - i, a0, a1)) + { + eSlotMachine->unk34[0] = 2; + eSlotMachine->unk2E[0] = i; + return TRUE; + } + } + return FALSE; +} + +bool8 sub_81031B4(u8 a0, u8 a1) +{ + s16 i; + bool8 r6 = sub_8103134(); + if (r6 || !sub_81030E0(0)) + { + for (i = 1; i < 4; i++) + { + if (sub_81030A4(i, a0, a1)) + { + eSlotMachine->unk34[0] = i; + eSlotMachine->unk2E[0] = 0; + return TRUE; + } + } + } + for (i = 1; i < 5; i++) + { + bool8 r7 = r6; + if (r7 || !sub_81030E0(i)) + { + if (sub_81030A4(1 - i, a0, a1)) + { + if (i == 1 && (r7 || !sub_81030E0(3))) + { + eSlotMachine->unk34[0] = 3; + eSlotMachine->unk2E[0] = 3; + return TRUE; + } + if (i < 4 && (r7 || !sub_81030E0(i + 1))) + { + eSlotMachine->unk34[0] = 2; + eSlotMachine->unk2E[0] = i + 1; + return TRUE; + } + eSlotMachine->unk34[0] = 1; + eSlotMachine->unk2E[0] = i; + return TRUE; + } + } + } + return FALSE; +} + +extern bool8 (*const gUnknown_083ECB70[])(void); + +bool8 sub_81032C0(void) +{ + return gUnknown_083ECB70[eSlotMachine->bet - 1](); +} + +bool8 sub_81032E8(void) +{ + s16 i; + s16 unk34_0 = eSlotMachine->unk34[0]; + + for (i = 0; i < 5; i++) + { + if (sub_8102BF8(1, unk34_0 - i) == eSlotMachine->unk07) + { + eSlotMachine->unk34[1] = unk34_0; + eSlotMachine->unk2E[1] = i; + return TRUE; + } + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 57af95611d0a3cb0fda3ccebae725221ca5eac3e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 27 Dec 2017 22:14:54 -0500 Subject: through sub_810341C --- asm/slot_machine.s | 175 ----------------------------------------------- src/field/slot_machine.c | 67 ++++++++++++++++++ 2 files changed, 67 insertions(+), 175 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index c3e802291..ba64c3c70 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,181 +5,6 @@ .text - thumb_func_start sub_810333C -sub_810333C: @ 810333C - push {r4-r7,lr} - bl sub_81032E8 - lsls r0, 24 - cmp r0, 0 - beq _0810339A - ldr r1, _0810338C @ =gSharedMem - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _08103396 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _08103396 - cmp r0, 0x4 - beq _08103396 - movs r5, 0 - movs r7, 0x2 - adds r6, r1, 0 -_08103364: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6, 0x7] - cmp r0, r1 - beq _08103390 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08103364 - b _08103396 - .align 2, 0 -_0810338C: .4byte gSharedMem -_08103390: - movs r0, 0x2 - strh r0, [r6, 0x36] - strh r5, [r6, 0x30] -_08103396: - movs r0, 0x1 - b _081033D2 -_0810339A: - ldr r1, _081033D8 @ =gSharedMem - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _081033D0 - movs r5, 0 - movs r7, 0x2 - adds r6, r1, 0 -_081033AA: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6, 0x7] - cmp r0, r1 - beq _08103390 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081033AA -_081033D0: - movs r0, 0 -_081033D2: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081033D8: .4byte gSharedMem - thumb_func_end sub_810333C - - thumb_func_start sub_81033DC -sub_81033DC: @ 81033DC - push {r4,lr} - ldr r0, _08103414 @ =gSharedMem - ldrb r3, [r0, 0x7] - adds r4, r3, 0 - ldrb r2, [r0, 0x4] - movs r1, 0x40 - ands r1, r2 - cmp r1, 0 - beq _081033F6 - movs r3, 0 - cmp r4, 0 - bne _081033F6 - movs r3, 0x1 -_081033F6: - ldr r1, _08103418 @ =gUnknown_083ECB7C - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r3, 0 - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08103414: .4byte gSharedMem -_08103418: .4byte gUnknown_083ECB7C - thumb_func_end sub_81033DC - - thumb_func_start sub_810341C -sub_810341C: @ 810341C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _0810345C @ =gSharedMem - movs r5, 0 - ldrh r1, [r0, 0x36] - mov r8, r1 - movs r1, 0x36 - ldrsh r7, [r0, r1] - adds r6, r0, 0 -_08103438: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r9 - bne _08103460 - mov r0, r8 - strh r0, [r6, 0x38] - strh r5, [r6, 0x32] - movs r0, 0x1 - b _0810346E - .align 2, 0 -_0810345C: .4byte gSharedMem -_08103460: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08103438 - movs r0, 0 -_0810346E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810341C - thumb_func_start sub_810347C sub_810347C: @ 810347C push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 469753726..df6a6bd0b 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1529,6 +1529,73 @@ bool8 sub_81032E8(void) return FALSE; } +bool8 sub_810333C(void) +{ + s16 i; + if (sub_81032E8()) + { + if (eSlotMachine->unk34[0] != 2 && eSlotMachine->unk2E[1] > 1 && eSlotMachine->unk2E[1] != 4) + { + for (i = 0; i < 5; i++) + { + if (sub_8102BF8(1, 2 - i) == eSlotMachine->unk07) + { + eSlotMachine->unk34[1] = 2; + eSlotMachine->unk2E[1] = i; + break; + } + } + } + return TRUE; + } + if (eSlotMachine->unk34[0] != 2) + { + for (i = 0; i < 5; i++) + { + if (sub_8102BF8(1, 2 - i) == eSlotMachine->unk07) + { + eSlotMachine->unk34[1] = 2; + eSlotMachine->unk2E[1] = i; + return TRUE; + } + } + } + return FALSE; +} + +extern bool8 (*const gUnknown_083ECB7C[])(u8 a0); + +bool8 sub_81033DC(void) +{ + u8 r3 = eSlotMachine->unk07; + if (eSlotMachine->unk04 & 0x40) + { + r3 = 0; + if (eSlotMachine->unk07 == 0) + { + r3 = 1; + } + } + return gUnknown_083ECB7C[eSlotMachine->bet - 1](r3); +} + +bool8 sub_810341C(u8 a0) +{ + s16 i; + s16 unk34_1 = eSlotMachine->unk34[1]; + + for (i = 0; i < 5; i++) + { + if (sub_8102BF8(2, unk34_1 - i) == a0) + { + eSlotMachine->unk34[2] = unk34_1; + eSlotMachine->unk2E[2] = i; + return TRUE; + } + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From e3acf564701fe6bc77c92fc5268083e4adc10ed7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 27 Dec 2017 23:14:42 -0500 Subject: through sub_8103520 --- asm/slot_machine.s | 117 ----------------------------------------------- src/field/slot_machine.c | 47 +++++++++++++++++++ 2 files changed, 47 insertions(+), 117 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index ba64c3c70..9e90a08bd 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,123 +5,6 @@ .text - thumb_func_start sub_810347C -sub_810347C: @ 810347C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _081034A0 @ =gSharedMem - movs r2, 0x34 - ldrsh r1, [r0, r2] - movs r2, 0x36 - ldrsh r0, [r0, r2] - cmp r1, r0 - bne _081034B4 - adds r0, r6, 0 - bl sub_810341C - lsls r0, 24 - lsrs r0, 24 - b _081034EA - .align 2, 0 -_081034A0: .4byte gSharedMem -_081034A4: - ldr r0, _081034B0 @ =gSharedMem - strh r5, [r0, 0x32] - mov r1, r8 - strh r1, [r0, 0x38] - movs r0, 0x1 - b _081034EA - .align 2, 0 -_081034B0: .4byte gSharedMem -_081034B4: - movs r2, 0x1 - mov r8, r2 - cmp r1, 0x1 - bne _081034C0 - movs r0, 0x3 - mov r8, r0 -_081034C0: - movs r5, 0 - mov r7, r8 -_081034C4: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _081034A4 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081034C4 - movs r0, 0 -_081034EA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810347C - - thumb_func_start sub_81034F4 -sub_81034F4: @ 81034F4 - push {r4,r5,lr} - movs r5, 0 - b _08103500 -_081034FA: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08103500: - lsls r0, r5, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_81030E0 - lsls r0, 24 - cmp r0, 0 - bne _081034FA - ldr r0, _0810351C @ =gSharedMem - strh r5, [r0, 0x2E] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810351C: .4byte gSharedMem - thumb_func_end sub_81034F4 - - thumb_func_start sub_8103520 -sub_8103520: @ 8103520 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _0810352E - movs r0, 0x1 - b _08103538 -_0810352E: - cmp r0, 0x1 - beq _08103536 - movs r0, 0 - b _0810353C -_08103536: - movs r0, 0 -_08103538: - strb r0, [r1] - movs r0, 0x1 -_0810353C: - pop {r1} - bx r1 - thumb_func_end sub_8103520 - thumb_func_start sub_8103540 sub_8103540: @ 8103540 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index df6a6bd0b..612dcd49f 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1596,6 +1596,53 @@ bool8 sub_810341C(u8 a0) return FALSE; } +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; + } + for (i = 0; i < 5; i++) + { + if (sub_8102BF8(2, r8 - i) == a0) + { + eSlotMachine->unk2E[2] = i; + eSlotMachine->unk34[2] = r8; + return TRUE; + } + } + return FALSE; +} + +void sub_81034F4(void) +{ + s16 i; + for (i = 0; sub_81030E0(i); i++); + eSlotMachine->unk2E[0] = i; +} + +bool8 sub_8103520(u8 *a0) +{ + if (*a0 == 0) + { + *a0 = 1; + return TRUE; + } + if (*a0 == 1) + { + *a0 = 0; + return TRUE; + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From ae42fdd5f4de2a68ef8d3ec8dd8147a189089a1b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 28 Dec 2017 20:43:51 -0500 Subject: through sub_8103668 (nonmatching) --- asm/slot_machine.s | 289 ----------------------------------------------- src/field/slot_machine.c | 250 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 250 insertions(+), 289 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 9e90a08bd..e19326a50 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,295 +5,6 @@ .text - thumb_func_start sub_8103540 -sub_8103540: @ 8103540 - push {lr} - ldr r1, _0810355C @ =gUnknown_083ECB88 - ldr r0, _08103560 @ =gSharedMem - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0810355C: .4byte gUnknown_083ECB88 -_08103560: .4byte gSharedMem - thumb_func_end sub_8103540 - - thumb_func_start sub_8103564 -sub_8103564: @ 8103564 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, _081035D0 @ =gSharedMem - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081035E0 - ldrb r1, [r4, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081035E0 - ldrh r0, [r4, 0x2E] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_8103520 - lsls r0, 24 - cmp r0, 0 - beq _081035E0 - movs r5, 0 - mov r7, sp - movs r0, 0x2 - mov r8, r0 - adds r6, r4, 0 -_081035AA: - lsls r0, r5, 16 - asrs r4, r0, 16 - mov r0, r8 - subs r1, r0, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _081035D4 - movs r0, 0x2 - strh r0, [r6, 0x36] - strh r5, [r6, 0x30] - b _081035E0 - .align 2, 0 -_081035D0: .4byte gSharedMem -_081035D4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081035AA -_081035E0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8103564 - - thumb_func_start j5_08111E84 -j5_08111E84: @ 81035EC - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, _08103650 @ =gSharedMem - ldrh r2, [r4, 0x34] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08103660 - ldrb r1, [r4, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08103660 - ldrh r1, [r4, 0x2E] - subs r1, r2, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_8103520 - lsls r0, 24 - cmp r0, 0 - beq _08103660 - movs r6, 0 - mov r7, sp - adds r5, r4, 0 -_0810362A: - ldrh r1, [r5, 0x34] - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _08103654 - ldrh r0, [r5, 0x34] - strh r0, [r5, 0x36] - strh r6, [r5, 0x30] - b _08103660 - .align 2, 0 -_08103650: .4byte gSharedMem -_08103654: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0810362A -_08103660: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end j5_08111E84 - - thumb_func_start sub_8103668 -sub_8103668: @ 8103668 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, _0810368C @ =gSharedMem - ldrh r3, [r4, 0x34] - movs r0, 0x34 - ldrsh r2, [r4, r0] - cmp r2, 0 - beq _0810375A - ldrb r1, [r4, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810375A - cmp r2, 0x2 - bne _081036AE - bl j5_08111E84 - b _0810375A - .align 2, 0 -_0810368C: .4byte gSharedMem -_08103690: - ldr r0, _0810369C @ =gSharedMem - movs r1, 0 - strh r6, [r0, 0x36] - strh r1, [r0, 0x30] - b _0810375A - .align 2, 0 -_0810369C: .4byte gSharedMem -_081036A0: - movs r0, 0x2 - strh r0, [r5, 0x36] - adds r0, r4, 0x1 - strh r0, [r5, 0x30] - b _0810375A -_081036AA: - movs r0, 0x3 - b _08103736 -_081036AE: - ldrh r1, [r4, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_8103520 - lsls r0, 24 - cmp r0, 0 - beq _0810375A - movs r6, 0x2 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _081036D8 - movs r6, 0x3 -_081036D8: - movs r5, 0 - mov r7, sp -_081036DC: - lsls r0, r6, 16 - asrs r4, r0, 16 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_8102BF8 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _08103690 - lsls r1, r5, 16 - movs r0, 0x80 - lsls r0, 9 - adds r1, r0 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsrs r5, r1, 16 - asrs r1, 16 - cmp r1, 0x1 - ble _081036DC - movs r6, 0x1 - mov r7, sp - ldr r5, _0810373C @ =gSharedMem -_0810370E: - ldrh r1, [r5, 0x34] - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0810374E - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08103740 - cmp r4, 0x2 - ble _081036A0 -_08103736: - strh r0, [r5, 0x36] - strh r6, [r5, 0x30] - b _0810375A - .align 2, 0 -_0810373C: .4byte gSharedMem -_08103740: - cmp r4, 0x2 - ble _081036AA - movs r0, 0x2 - strh r0, [r5, 0x36] - subs r0, r4, 0x1 - strh r0, [r5, 0x30] - b _0810375A -_0810374E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0810370E -_0810375A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8103668 - thumb_func_start sub_8103764 sub_8103764: @ 8103764 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 612dcd49f..9e5980446 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1643,6 +1643,256 @@ bool8 sub_8103520(u8 *a0) return FALSE; } +extern void (*gUnknown_083ECB88[])(void); + +void sub_8103540(void) +{ + gUnknown_083ECB88[eSlotMachine->bet - 1](); +} + +void sub_8103564(void) +{ + if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) + { + u8 sp0 = sub_8102BF8(0, 2 - eSlotMachine->unk2E[0]); + if (sub_8103520(&sp0)) + { + s16 i; + for (i = 0; i < 5; i++) + { + if (sp0 == sub_8102BF8(1, 2 - i)) + { + eSlotMachine->unk34[1] = 2; + eSlotMachine->unk2E[1] = i; + break; + } + } + } + } +} + +void j5_08111E84(void) +{ + if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) + { + u8 sp0 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + if (sub_8103520(&sp0)) + { + s16 i; + for (i = 0; i < 5; i++) + { + if (sp0 == sub_8102BF8(1, eSlotMachine->unk34[0] - i)) + { + eSlotMachine->unk34[1] = eSlotMachine->unk34[0]; + eSlotMachine->unk2E[1] = i; + break; + } + } + } + } +} + +#ifdef NONMATCHING // variable r6 is mistakenly plopped into r5, + // and variable i is mistakenly plopped into r6 +void sub_8103668(void) +{ + if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) + { + if (eSlotMachine->unk34[0] == 2) + { + j5_08111E84(); + } + else + { + u8 sp0 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + if (sub_8103520(&sp0)) + { + s16 i; + s16 r6 = 2; + if (eSlotMachine->unk34[0] == 3) + r6 = 3; + for (i = 0; i < 2; i++, r6--) + { + if (sp0 == sub_8102BF8(1, r6)) + { + eSlotMachine->unk34[1] = r6; + eSlotMachine->unk2E[1] = 0; + return; + } + } + for (i = 1; i < 5; i++) + { + if (sp0 == sub_8102BF8(1, eSlotMachine->unk34[0] - i)) + { + if (eSlotMachine->unk34[0] == 1) + { + if (i < 3) + { + eSlotMachine->unk34[1] = 2; + eSlotMachine->unk2E[1] = i + 1; + } + else + { + eSlotMachine->unk34[1] = 1; + eSlotMachine->unk2E[1] = i; + } + } + else + { + if (i < 3) + { + eSlotMachine->unk34[1] = 3; + eSlotMachine->unk2E[1] = i; + } + else + { + eSlotMachine->unk34[1] = 2; + eSlotMachine->unk2E[1] = i - 1; + } + } + return; + } + } + } + } + } +} +#else +__attribute__((naked)) void sub_8103668(void) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tsub sp, 0x4\n" + "\tldr r4, _0810368C @ =gSharedMem\n" + "\tldrh r3, [r4, 0x34]\n" + "\tmovs r0, 0x34\n" + "\tldrsh r2, [r4, r0]\n" + "\tcmp r2, 0\n" + "\tbeq _0810375A\n" + "\tldrb r1, [r4, 0x4]\n" + "\tmovs r0, 0x80\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _0810375A\n" + "\tcmp r2, 0x2\n" + "\tbne _081036AE\n" + "\tbl j5_08111E84\n" + "\tb _0810375A\n" + "\t.align 2, 0\n" + "_0810368C: .4byte gSharedMem\n" + "_08103690:\n" + "\tldr r0, _0810369C @ =gSharedMem\n" + "\tmovs r1, 0\n" + "\tstrh r6, [r0, 0x36]\n" + "\tstrh r1, [r0, 0x30]\n" + "\tb _0810375A\n" + "\t.align 2, 0\n" + "_0810369C: .4byte gSharedMem\n" + "_081036A0:\n" + "\tmovs r0, 0x2\n" + "\tstrh r0, [r5, 0x36]\n" + "\tadds r0, r4, 0x1\n" + "\tstrh r0, [r5, 0x30]\n" + "\tb _0810375A\n" + "_081036AA:\n" + "\tmovs r0, 0x3\n" + "\tb _08103736\n" + "_081036AE:\n" + "\tldrh r1, [r4, 0x2E]\n" + "\tsubs r1, r3, r1\n" + "\tlsls r1, 16\n" + "\tasrs r1, 16\n" + "\tmovs r0, 0\n" + "\tbl sub_8102BF8\n" + "\tmov r1, sp\n" + "\tstrb r0, [r1]\n" + "\tmov r0, sp\n" + "\tbl sub_8103520\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _0810375A\n" + "\tmovs r6, 0x2\n" + "\tmovs r1, 0x34\n" + "\tldrsh r0, [r4, r1]\n" + "\tcmp r0, 0x3\n" + "\tbne _081036D8\n" + "\tmovs r6, 0x3\n" + "_081036D8:\n" + "\tmovs r5, 0\n" + "\tmov r7, sp\n" + "_081036DC:\n" + "\tlsls r0, r6, 16\n" + "\tasrs r4, r0, 16\n" + "\tmovs r0, 0x1\n" + "\tadds r1, r4, 0\n" + "\tbl sub_8102BF8\n" + "\tldrb r1, [r7]\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r1, r0\n" + "\tbeq _08103690\n" + "\tlsls r1, r5, 16\n" + "\tmovs r0, 0x80\n" + "\tlsls r0, 9\n" + "\tadds r1, r0\n" + "\tsubs r0, r4, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tlsrs r5, r1, 16\n" + "\tasrs r1, 16\n" + "\tcmp r1, 0x1\n" + "\tble _081036DC\n" + "\tmovs r6, 0x1\n" + "\tmov r7, sp\n" + "\tldr r5, _0810373C @ =gSharedMem\n" + "_0810370E:\n" + "\tldrh r1, [r5, 0x34]\n" + "\tlsls r0, r6, 16\n" + "\tasrs r4, r0, 16\n" + "\tsubs r1, r4\n" + "\tlsls r1, 16\n" + "\tasrs r1, 16\n" + "\tmovs r0, 0x1\n" + "\tbl sub_8102BF8\n" + "\tldrb r1, [r7]\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r1, r0\n" + "\tbne _0810374E\n" + "\tmovs r1, 0x34\n" + "\tldrsh r0, [r5, r1]\n" + "\tcmp r0, 0x1\n" + "\tbne _08103740\n" + "\tcmp r4, 0x2\n" + "\tble _081036A0\n" + "_08103736:\n" + "\tstrh r0, [r5, 0x36]\n" + "\tstrh r6, [r5, 0x30]\n" + "\tb _0810375A\n" + "\t.align 2, 0\n" + "_0810373C: .4byte gSharedMem\n" + "_08103740:\n" + "\tcmp r4, 0x2\n" + "\tble _081036AA\n" + "\tmovs r0, 0x2\n" + "\tstrh r0, [r5, 0x36]\n" + "\tsubs r0, r4, 0x1\n" + "\tstrh r0, [r5, 0x30]\n" + "\tb _0810375A\n" + "_0810374E:\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x4\n" + "\tble _0810370E\n" + "_0810375A:\n" + "\tadd sp, 0x4\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif // NONMATCHING + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From c42efaf17328594dc30e4fc6f31b8eef0f629278 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 28 Dec 2017 21:17:15 -0500 Subject: through sub_810380C --- asm/slot_machine.s | 129 ----------------------------------------------- src/field/slot_machine.c | 38 ++++++++++++++ 2 files changed, 38 insertions(+), 129 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index e19326a50..38573f519 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,135 +5,6 @@ .text - thumb_func_start sub_8103764 -sub_8103764: @ 8103764 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r0, 0 - bne _08103778 - cmp r1, 0x1 - beq _08103780 -_08103778: - cmp r0, 0x1 - bne _08103784 - cmp r2, 0 - bne _08103784 -_08103780: - movs r0, 0x1 - b _08103786 -_08103784: - movs r0, 0 -_08103786: - pop {r1} - bx r1 - thumb_func_end sub_8103764 - - thumb_func_start sub_810378C -sub_810378C: @ 810378C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0 - bne _081037A6 - cmp r1, 0x1 - bne _081037A6 - cmp r2, 0 - beq _081037B2 -_081037A6: - cmp r0, 0x1 - bne _081037B6 - cmp r1, 0 - bne _081037B6 - cmp r2, 0x1 - bne _081037B6 -_081037B2: - movs r0, 0x1 - b _081037B8 -_081037B6: - movs r0, 0 -_081037B8: - pop {r1} - bx r1 - thumb_func_end sub_810378C - - thumb_func_start sub_81037BC -sub_81037BC: @ 81037BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0 - bne _081037D6 - cmp r1, 0x1 - bne _081037D6 - cmp r2, 0 - beq _08103802 -_081037D6: - cmp r0, 0x1 - bne _081037E2 - cmp r1, 0 - bne _081037E2 - cmp r2, 0x1 - beq _08103802 -_081037E2: - cmp r0, 0 - bne _081037EE - cmp r1, 0 - bne _081037EE - cmp r2, 0x1 - beq _08103802 -_081037EE: - cmp r0, 0x1 - bne _081037FA - cmp r1, 0x1 - bne _081037FA - cmp r2, 0 - beq _08103802 -_081037FA: - cmp r0, r1 - bne _08103806 - cmp r0, r2 - bne _08103806 -_08103802: - movs r0, 0 - b _08103808 -_08103806: - movs r0, 0x1 -_08103808: - pop {r1} - bx r1 - thumb_func_end sub_81037BC - - thumb_func_start sub_810380C -sub_810380C: @ 810380C - push {lr} - ldr r1, _08103828 @ =gUnknown_083ECB94 - ldr r0, _0810382C @ =gSharedMem - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_08103828: .4byte gUnknown_083ECB94 -_0810382C: .4byte gSharedMem - thumb_func_end sub_810380C - thumb_func_start sub_8103830 sub_8103830: @ 8103830 push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 9e5980446..a4b3175d2 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1893,6 +1893,44 @@ __attribute__((naked)) void sub_8103668(void) } #endif // NONMATCHING +bool8 sub_8103764(u8 a0, u8 a1) +{ + if ((a0 == 0 && a1 == 1) || (a0 == 1 && a1 == 0)) + { + return TRUE; + } + return FALSE; +} + +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; +} + +bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) +{ + if ((a0 == 0 && a1 == 1 && a2 == 0) || + (a0 == 1 && a1 == 0 && a2 == 1) || + (a0 == 0 && a1 == 0 && a2 == 1) || + (a0 == 1 && a1 == 1 && a2 == 0) || + (a0 == a1 && a0 == a2)) + { + return FALSE; + } + return TRUE; +} + +extern void (*const gUnknown_083ECB94[])(void); + +void sub_810380C(void) +{ + gUnknown_083ECB94[eSlotMachine->bet - 1](); +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 857b166086756ccc92e58981493513a7f00920ff Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 28 Dec 2017 21:49:13 -0500 Subject: sub_8103830 --- asm/slot_machine.s | 117 ----------------------------------------------- src/field/slot_machine.c | 43 +++++++++++++++++ 2 files changed, 43 insertions(+), 117 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 38573f519..1df6bb486 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,123 +5,6 @@ .text - thumb_func_start sub_8103830 -sub_8103830: @ 8103830 - push {r4-r7,lr} - movs r6, 0 - ldr r7, _08103868 @ =gSharedMem - ldrh r1, [r7, 0x2E] - movs r4, 0x2 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r7, 0x30] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, r1 - bne _081038A0 - movs r4, 0x2 - b _08103876 - .align 2, 0 -_08103868: .4byte gSharedMem -_0810386C: - lsls r0, r6, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r6, r0, 16 -_08103876: - lsls r1, r6, 16 - asrs r1, 16 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0810386C - cmp r5, 0 - bne _08103896 - cmp r0, 0x1 - beq _0810386C -_08103896: - cmp r5, 0x1 - bne _08103900 - cmp r0, 0 - beq _0810386C - b _08103900 -_081038A0: - adds r0, r5, 0 - bl sub_8103764 - lsls r0, 24 - cmp r0, 0 - beq _08103900 - ldrb r1, [r7, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081038DC - movs r7, 0x2 -_081038B8: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08103900 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081038B8 -_081038DC: - movs r6, 0 - movs r7, 0x2 - b _081038E8 -_081038E2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_081038E8: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _081038E2 -_08103900: - ldr r0, _0810390C @ =gSharedMem - strh r6, [r0, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810390C: .4byte gSharedMem - thumb_func_end sub_8103830 - thumb_func_start sub_8103910 sub_8103910: @ 8103910 push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index a4b3175d2..fbc89133a 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1931,6 +1931,49 @@ void sub_810380C(void) gUnknown_083ECB94[eSlotMachine->bet - 1](); } +void sub_8103830(void) +{ + s16 i = 0; + u8 r5 = sub_8102BF8(0, 2 - eSlotMachine->unk2E[0]); + u8 r1 = sub_8102BF8(1, 2 - eSlotMachine->unk2E[1]); + if (r5 == r1) + { + while (1) + { + u8 r0; + if (!(r5 == (r0 = sub_8102BF8(2, 2 - i)) || (r5 == 0 && r0 == 1) || (r5 == 1 && r0 == 0))) + { + break; + } + i++; + } + } + else if (sub_8103764(r5, r1)) + { + if (eSlotMachine->unk04 & 0x80) + { + for (i = 0; i < 5; i++) + { + if (r5 == sub_8102BF8(2, 2 - i)) + { + eSlotMachine->unk2E[2] = i; + return; + } + } + } + i = 0; + while (1) + { + if (r5 != sub_8102BF8(2, 2 - i)) + { + break; + } + i++; + } + } + eSlotMachine->unk2E[2] = i; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 31660ed578795464ed46f663bfaacd1ecb2006a6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 29 Dec 2017 17:01:25 -0500 Subject: sub_8103910 --- asm/slot_machine.s | 183 ----------------------------------------------- src/field/slot_machine.c | 53 +++++++++++++- 2 files changed, 51 insertions(+), 185 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 1df6bb486..3d3f9a813 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,189 +5,6 @@ .text - thumb_func_start sub_8103910 -sub_8103910: @ 8103910 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _08103978 @ =gSharedMem - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _081039A6 - ldrh r2, [r4, 0x34] - movs r3, 0x34 - ldrsh r0, [r4, r3] - cmp r0, r1 - bne _081039A6 - ldrb r1, [r4, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081039A6 - ldrh r1, [r4, 0x2E] - subs r1, r2, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r1, [r4, 0x36] - ldrh r0, [r4, 0x30] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8103764 - lsls r0, 24 - cmp r0, 0 - beq _081039A6 - movs r5, 0 - b _08103982 - .align 2, 0 -_08103978: .4byte gSharedMem -_0810397C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08103982: - lsls r6, r5, 16 - asrs r5, r6, 16 - cmp r5, 0x4 - bgt _081039A6 - ldr r0, _08103A34 @ =gSharedMem - ldrh r1, [r0, 0x36] - subs r1, r5 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r7, r4 - bne _0810397C - lsrs r6, 16 - str r6, [sp] -_081039A6: - ldr r0, _08103A34 @ =gSharedMem - mov r9, r0 -_081039AA: - movs r5, 0x1 - movs r1, 0 - mov r8, r1 - ldr r2, [sp] - lsls r2, 16 - mov r10, r2 -_081039B6: - mov r3, r9 - ldrh r1, [r3, 0x2E] - lsls r5, 16 - asrs r4, r5, 16 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r9 - ldrh r1, [r0, 0x30] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, r10 - asrs r0, r1, 16 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_81037BC - lsls r0, 24 - cmp r0, 0 - bne _08103A38 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_810378C - lsls r0, 24 - cmp r0, 0 - beq _08103A24 - mov r2, r9 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08103A38 -_08103A24: - mov r3, r8 - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r0, 16 - mov r8, r0 - b _08103A46 - .align 2, 0 -_08103A34: .4byte gSharedMem -_08103A38: - movs r2, 0x80 - lsls r2, 9 - adds r0, r5, r2 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081039B6 -_08103A46: - mov r3, r8 - cmp r3, 0 - beq _08103A5C - ldr r1, [sp] - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r0, 16 - str r0, [sp] - b _081039AA -_08103A5C: - ldr r0, _08103A74 @ =gSharedMem - mov r3, sp - ldrh r3, [r3] - strh r3, [r0, 0x32] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08103A74: .4byte gSharedMem - thumb_func_end sub_8103910 - thumb_func_start sub_8103A78 sub_8103A78: @ 8103A78 push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index fbc89133a..bea32d9fb 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1696,6 +1696,8 @@ void j5_08111E84(void) // and variable i is mistakenly plopped into r6 void sub_8103668(void) { + s16 i; + s16 r6; if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) { if (eSlotMachine->unk34[0] == 2) @@ -1707,8 +1709,7 @@ void sub_8103668(void) u8 sp0 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); if (sub_8103520(&sp0)) { - s16 i; - s16 r6 = 2; + r6 = 2; if (eSlotMachine->unk34[0] == 3) r6 = 3; for (i = 0; i < 2; i++, r6--) @@ -1974,6 +1975,54 @@ void sub_8103830(void) eSlotMachine->unk2E[2] = i; } +void sub_8103910(void) +{ + s16 sp0 = 0; + s16 i; + u8 r7; + u8 r6; + u8 r4; + + if (eSlotMachine->unk34[1] != 0 && eSlotMachine->unk34[0] == eSlotMachine->unk34[1] && eSlotMachine->unk04 & 0x80) + { + r7 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + r6 = sub_8102BF8(1, eSlotMachine->unk34[1] - eSlotMachine->unk2E[1]); + if (sub_8103764(r7, r6)) + { + for (i = 0; i < 5; i++) + { + r4 = sub_8102BF8(2, eSlotMachine->unk34[1] - i); + if (r7 == r4) + { + sp0 = i; + break; + } + } + } + } + while (1) + { + s16 r8; + for (i = 1, r8 = 0; i < 4; i++) + { + r7 = sub_8102BF8(0, i - eSlotMachine->unk2E[0]); + r6 = sub_8102BF8(1, i - eSlotMachine->unk2E[1]); + r4 = sub_8102BF8(2, i - sp0); + if (!sub_81037BC(r7, r6, r4) && (!sub_810378C(r7, r6, r4) || !(eSlotMachine->unk04 & 0x80))) + { + r8++; + break; + } + } + if (r8 == 0) + { + break; + } + sp0++; + } + eSlotMachine->unk2E[2] = sp0; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From b7f9313a2183203a92d1eac744c52b13119202b7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 29 Dec 2017 18:04:53 -0500 Subject: sub_8103A78 --- asm/slot_machine.s | 204 ----------------------------------------------- src/field/slot_machine.c | 49 ++++++++++++ 2 files changed, 49 insertions(+), 204 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 3d3f9a813..3fdbadee9 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,210 +5,6 @@ .text - thumb_func_start sub_8103A78 -sub_8103A78: @ 8103A78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl sub_8103910 - ldr r4, _08103B10 @ =gSharedMem - movs r0, 0x36 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08103B20 - ldrh r2, [r4, 0x34] - movs r3, 0x34 - ldrsh r0, [r4, r3] - cmp r0, r1 - beq _08103B20 - ldrb r1, [r4, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08103B20 - ldrh r1, [r4, 0x2E] - subs r1, r2, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r1, [r4, 0x36] - ldrh r0, [r4, 0x30] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8103764 - lsls r0, 24 - cmp r0, 0 - beq _08103B20 - movs r1, 0x1 - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _08103AE0 - movs r1, 0x3 -_08103AE0: - movs r3, 0 - lsls r1, 16 - mov r8, r1 - adds r7, r4, 0 -_08103AE8: - ldrh r2, [r7, 0x32] - lsls r0, r3, 16 - asrs r5, r0, 16 - adds r2, r5, r2 - mov r3, r8 - asrs r1, r3, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r6, r4 - bne _08103B14 - ldrh r0, [r7, 0x32] - adds r0, r5, r0 - strh r0, [r7, 0x32] - b _08103B20 - .align 2, 0 -_08103B10: .4byte gSharedMem -_08103B14: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08103AE8 -_08103B20: - ldr r7, _08103B90 @ =gSharedMem -_08103B22: - ldrh r0, [r7, 0x2E] - movs r1, 0x1 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r0, [r7, 0x30] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r7, 0x32] - movs r1, 0x3 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_81037BC - lsls r0, 24 - cmp r0, 0 - bne _08103B94 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_810378C - lsls r0, 24 - cmp r0, 0 - beq _08103B88 - ldrb r1, [r7, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08103B94 -_08103B88: - ldrh r0, [r7, 0x32] - adds r0, 0x1 - strh r0, [r7, 0x32] - b _08103B22 - .align 2, 0 -_08103B90: .4byte gSharedMem -_08103B94: - ldr r7, _08103C04 @ =gSharedMem -_08103B96: - ldrh r0, [r7, 0x2E] - movs r1, 0x3 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_8102BF8 - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r0, [r7, 0x30] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_8102BF8 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r7, 0x32] - movs r1, 0x1 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_8102BF8 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_81037BC - lsls r0, 24 - cmp r0, 0 - bne _08103C08 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_810378C - lsls r0, 24 - cmp r0, 0 - beq _08103BFC - ldrb r1, [r7, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08103C08 -_08103BFC: - ldrh r0, [r7, 0x32] - adds r0, 0x1 - strh r0, [r7, 0x32] - b _08103B96 - .align 2, 0 -_08103C04: .4byte gSharedMem -_08103C08: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8103A78 - thumb_func_start sub_8103C14 sub_8103C14: @ 8103C14 push {r4,r5,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index bea32d9fb..04cd699d3 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -2023,6 +2023,55 @@ void sub_8103910(void) eSlotMachine->unk2E[2] = sp0; } +void sub_8103A78(void) +{ + u8 r6; + u8 r5; + u8 r4; + s16 r8; + s16 i; + + sub_8103910(); + if (eSlotMachine->unk34[1] != 0 && eSlotMachine->unk34[0] != eSlotMachine->unk34[1] && eSlotMachine->unk04 & 0x80) + { + r6 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + r5 = sub_8102BF8(1, eSlotMachine->unk34[1] - eSlotMachine->unk2E[1]); + if (sub_8103764(r6, r5)) + { + r8 = 1; + if (eSlotMachine->unk34[0] == 1) + r8 = 3; + for (i = 0; i < 5; i++) + { + r4 = sub_8102BF8(2, r8 - (eSlotMachine->unk2E[2] + i)); + if (r6 == r4) + { + eSlotMachine->unk2E[2] += i; + break; + } + } + } + } + while (1) + { + r6 = sub_8102BF8(0, 1 - eSlotMachine->unk2E[0]); + r5 = sub_8102BF8(1, 2 - eSlotMachine->unk2E[1]); + r4 = sub_8102BF8(2, 3 - eSlotMachine->unk2E[2]); + if (sub_81037BC(r6, r5, r4) || (sub_810378C(r6, r5, r4) && eSlotMachine->unk04 & 0x80)) + break; + eSlotMachine->unk2E[2]++; + } + while (1) + { + r6 = sub_8102BF8(0, 3 - eSlotMachine->unk2E[0]); + r5 = sub_8102BF8(1, 2 - eSlotMachine->unk2E[1]); + r4 = sub_8102BF8(2, 1 - eSlotMachine->unk2E[2]); + if (sub_81037BC(r6, r5, r4) || (sub_810378C(r6, r5, r4) && eSlotMachine->unk04 & 0x80)) + break; + eSlotMachine->unk2E[2]++; + } +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 8e79fd9e13e42961cfb1de4c44714960ae3ac668 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 29 Dec 2017 18:18:15 -0500 Subject: through sub_8103CC8 --- asm/slot_machine.s | 130 ----------------------------------------------- src/field/slot_machine.c | 50 +++++++++++++++--- 2 files changed, 43 insertions(+), 137 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 3fdbadee9..53423e9e4 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,136 +5,6 @@ .text - thumb_func_start sub_8103C14 -sub_8103C14: @ 8103C14 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08103C40 @ =sub_8103C48 - adds r0, r5, 0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08103C44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x26] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08103C40: .4byte sub_8103C48 -_08103C44: .4byte gTasks - thumb_func_end sub_8103C14 - - thumb_func_start sub_8103C48 -sub_8103C48: @ 8103C48 - push {r4,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08103C70 @ =gUnknown_083ECBA0 - ldr r2, _08103C74 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r4, 0x8 - ldrsh r2, [r0, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08103C70: .4byte gUnknown_083ECBA0 -_08103C74: .4byte gTasks - thumb_func_end sub_8103C48 - - thumb_func_start sub_8103C78 -sub_8103C78: @ 8103C78 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _08103CA8 @ =gUnknown_083ECBAC - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x73 - str r1, [sp] - movs r1, 0x62 - movs r2, 0x63 - movs r3, 0x72 - bl sub_81065A8 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08103CA8: .4byte gUnknown_083ECBAC - thumb_func_end sub_8103C78 - - thumb_func_start sub_8103CAC -sub_8103CAC: @ 8103CAC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _08103CC4 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08103CC4: - pop {r0} - bx r0 - thumb_func_end sub_8103CAC - - thumb_func_start sub_8103CC8 -sub_8103CC8: @ 8103CC8 - push {r4,lr} - sub sp, 0x4 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r1, _08103CFC @ =gUnknown_083ECBAC - movs r2, 0x26 - ldrsh r0, [r0, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x53 - str r1, [sp] - movs r1, 0x42 - movs r2, 0x43 - movs r3, 0x52 - bl sub_81065A8 - adds r0, r4, 0 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08103CFC: .4byte gUnknown_083ECBAC - thumb_func_end sub_8103CC8 - thumb_func_start sub_8103D00 sub_8103D00: @ 8103D00 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 04cd699d3..922ab0c4d 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -95,14 +95,15 @@ static void sub_810290C(void); static u8 sub_81029D4(u8 c1, u8 c2, u8 c3); static void sub_8102A24(void); static void sub_8102A64(u8 taskId); -bool8 sub_8102A44(void); +static bool8 sub_8102A44(void); u8 sub_8102BA4(u8 x, s16 y); static void sub_8102DA8(void); static void sub_8102DEC(u8 a0); static void sub_8102E1C(u8 a0); -bool8 sub_8102E40(u8 a0); -void sub_8102E68(u8 taskId); -void sub_8103C14(u8 a0); +static bool8 sub_8102E40(u8 a0); +static void sub_8102E68(u8 taskId); +static void sub_8103C14(u8 a0); +void sub_8103C48(u8 taskId); void sub_8103D50(u8 a0); void sub_8103D8C(u8 a0); void sub_8103DC8(void); @@ -128,6 +129,7 @@ void sub_81050C4(void); void sub_81063C0(void); static void sub_8106448(void); void sub_81064B8(void); +void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { sub_8101D5C, @@ -1148,7 +1150,7 @@ static void sub_8102A24(void) sub_8102A64(CreateTask(sub_8102A64, 4)); } -bool8 sub_8102A44(void) +static bool8 sub_8102A44(void) { if (FindTaskIdByFunc(sub_8102A64) == 0xff) { @@ -1316,14 +1318,14 @@ static void sub_8102E1C(u8 a0) gTasks[eSlotMachine->unk3A[a0]].data[0] = 2; } -bool8 sub_8102E40(u8 a0) +static bool8 sub_8102E40(u8 a0) { return gTasks[eSlotMachine->unk3A[a0]].data[14]; } extern bool8 (*const gUnknown_083ECB2C[])(struct Task *task); -void sub_8102E68(u8 taskId) +static void sub_8102E68(u8 taskId) { while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId)); } @@ -2072,6 +2074,40 @@ void sub_8103A78(void) } } +static void sub_8103C14(u8 a0) +{ + u8 taskId = CreateTask(sub_8103C48, 5); + gTasks[taskId].data[15] = a0; + sub_8103C48(taskId); +} + +extern void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId); + +void sub_8103C48(u8 taskId) +{ + gUnknown_083ECBA0[gTasks[taskId].data[0]](gTasks + taskId, taskId); +} + +extern const s16 gUnknown_083ECBAC[]; + +void sub_8103C78(struct Task *task, u8 taskId) +{ + sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x62, 0x63, 0x72, 0x73); + task->data[0]++; +} + +void sub_8103CAC(struct Task *task, u8 taskId) +{ + if (++task->data[1] > 11) + task->data[0]++; +} + +void sub_8103CC8(struct Task *task, u8 taskId) +{ + sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x42, 0x43, 0x52, 0x53); + DestroyTask(taskId); +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From d05e72b6b269defef8d9b1bbce42adaf48f4ed8f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 29 Dec 2017 19:35:05 -0500 Subject: through sub_8103E7C --- asm/slot_machine.s | 239 ----------------------------------------------- include/slot_machine.h | 4 +- src/field/slot_machine.c | 98 +++++++++++++++++-- 3 files changed, 93 insertions(+), 248 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 53423e9e4..500441c75 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,245 +5,6 @@ .text - thumb_func_start sub_8103D00 -sub_8103D00: @ 8103D00 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08103D20 @ =gUnknown_083EDD08 - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - ldr r1, _08103D24 @ =gUnknown_083EDD30 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_08103D20: .4byte gUnknown_083EDD08 -_08103D24: .4byte gUnknown_083EDD30 - thumb_func_end sub_8103D00 - - thumb_func_start sub_8103D28 -sub_8103D28: @ 8103D28 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08103D48 @ =gUnknown_083EDD1C - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - ldr r1, _08103D4C @ =gUnknown_083EDD30 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_08103D48: .4byte gUnknown_083EDD1C -_08103D4C: .4byte gUnknown_083EDD30 - thumb_func_end sub_8103D28 - - thumb_func_start sub_8103D50 -sub_8103D50: @ 8103D50 - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - ldr r0, _08103D84 @ =gUnknown_083EDD3B - adds r0, r1, r0 - ldrb r0, [r0] - cmp r4, r0 - bcs _08103D7C - ldr r7, _08103D88 @ =gUnknown_083EDD35 - adds r6, r0, 0 - lsls r5, r1, 1 -_08103D68: - adds r0, r4, r5 - adds r0, r7 - ldrb r0, [r0] - bl sub_8103D00 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08103D68 -_08103D7C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08103D84: .4byte gUnknown_083EDD3B -_08103D88: .4byte gUnknown_083EDD35 - thumb_func_end sub_8103D50 - - thumb_func_start sub_8103D8C -sub_8103D8C: @ 8103D8C - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - ldr r0, _08103DC0 @ =gUnknown_083EDD3B - adds r0, r1, r0 - ldrb r0, [r0] - cmp r4, r0 - bcs _08103DB8 - ldr r7, _08103DC4 @ =gUnknown_083EDD35 - adds r6, r0, 0 - lsls r5, r1, 1 -_08103DA4: - adds r0, r4, r5 - adds r0, r7 - ldrb r0, [r0] - bl sub_8103D28 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08103DA4 -_08103DB8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08103DC0: .4byte gUnknown_083EDD3B -_08103DC4: .4byte gUnknown_083EDD35 - thumb_func_end sub_8103D8C - - thumb_func_start sub_8103DC8 -sub_8103DC8: @ 8103DC8 - push {r4-r6,lr} - movs r4, 0 - ldr r6, _08103DF8 @ =gSprites - ldr r5, _08103DFC @ =gSharedMem + 0x44 -_08103DD0: - ldr r0, _08103E00 @ =sub_8103EE4 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r4, [r1, 0x2E] - adds r1, r4, r5 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08103DD0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08103DF8: .4byte gSprites -_08103DFC: .4byte gSharedMem + 0x44 -_08103E00: .4byte sub_8103EE4 - thumb_func_end sub_8103DC8 - - thumb_func_start sub_8103E04 -sub_8103E04: @ 8103E04 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08103E30 @ =gSharedMem - adds r1, 0x44 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08103E34 @ =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x30] - movs r1, 0x4 - strh r1, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - movs r1, 0x2 - strh r1, [r0, 0x38] - strh r2, [r0, 0x3C] - bx lr - .align 2, 0 -_08103E30: .4byte gSharedMem -_08103E34: .4byte gSprites - thumb_func_end sub_8103E04 - - thumb_func_start sub_8103E38 -sub_8103E38: @ 8103E38 - push {r4,r5,lr} - movs r2, 0 - ldr r4, _08103E60 @ =gSharedMem + 0x44 - ldr r3, _08103E64 @ =gSprites -_08103E40: - adds r0, r2, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r3 - movs r5, 0x30 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _08103E68 - movs r5, 0x32 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _08103E68 - movs r0, 0 - b _08103E74 - .align 2, 0 -_08103E60: .4byte gSharedMem + 0x44 -_08103E64: .4byte gSprites -_08103E68: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x4 - bls _08103E40 - movs r0, 0x1 -_08103E74: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8103E38 - - thumb_func_start sub_8103E7C -sub_8103E7C: @ 8103E7C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08103E94 @ =gSharedMem + 0x44 -_08103E82: - adds r0, r4, r5 - ldrb r0, [r0] - bl sub_8103EAC - lsls r0, 24 - cmp r0, 0 - bne _08103E98 - movs r0, 0 - b _08103EA4 - .align 2, 0 -_08103E94: .4byte gSharedMem + 0x44 -_08103E98: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08103E82 - movs r0, 0x1 -_08103EA4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8103E7C - thumb_func_start sub_8103EAC sub_8103EAC: @ 8103EAC push {lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 203f3bbfc..b04ee6377 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -28,7 +28,9 @@ struct SlotMachineEwramStruct { /*0x34*/ s16 unk34[3]; /*0x3A*/ u8 unk3A[3]; /*0x3D*/ u8 unk3D; - /*0x3E*/ u8 filler3E[26]; + /*0x3E*/ u8 filler3E[6]; + /*0x44*/ u8 unk44[5]; + /*0x49*/ u8 filler49[15]; /*0x58*/ u16 win0h; /*0x5a*/ u16 win0v; /*0x5c*/ u16 winIn; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 922ab0c4d..82ac4e9e7 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -103,13 +103,15 @@ static void sub_8102E1C(u8 a0); static bool8 sub_8102E40(u8 a0); static void sub_8102E68(u8 taskId); static void sub_8103C14(u8 a0); -void sub_8103C48(u8 taskId); -void sub_8103D50(u8 a0); -void sub_8103D8C(u8 a0); -void sub_8103DC8(void); -void sub_8103E04(u8 a0); -bool8 sub_8103E38(void); -bool8 sub_8103E7C(void); +static void sub_8103C48(u8 taskId); +static void sub_8103D50(u8 a0); +static void sub_8103D8C(u8 a0); +static void sub_8103DC8(void); +static void sub_8103E04(u8 a0); +static bool8 sub_8103E38(void); +static bool8 sub_8103E7C(void); +bool8 sub_8103EAC(u8 a0); +void sub_8103EE4(struct Sprite *sprite); void sub_8103F70(void); bool8 sub_8103FA0(void); void sub_8104048(void); @@ -2083,7 +2085,7 @@ static void sub_8103C14(u8 a0) extern void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId); -void sub_8103C48(u8 taskId) +static void sub_8103C48(u8 taskId) { gUnknown_083ECBA0[gTasks[taskId].data[0]](gTasks + taskId, taskId); } @@ -2108,6 +2110,86 @@ void sub_8103CC8(struct Task *task, u8 taskId) DestroyTask(taskId); } +extern const u16 *const gUnknown_083EDD08[]; +extern const u16 *const gUnknown_083EDD1C[]; +extern const u8 gUnknown_083EDD30[]; + +static void sub_8103D00(u8 a0) +{ + LoadPalette(gUnknown_083EDD08[a0], gUnknown_083EDD30[a0], 2); +} + +static void sub_8103D28(u8 a0) +{ + LoadPalette(gUnknown_083EDD1C[a0], gUnknown_083EDD30[a0], 2); +} + +extern const u8 gUnknown_083EDD3B[]; +extern const u8 gUnknown_083EDD35[][2]; + +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) +{ + u8 i; + for (i = 0; i < 5; i++) + { + u8 spriteId = CreateInvisibleSprite(sub_8103EE4); + gSprites[spriteId].data[0] = i; + eSlotMachine->unk44[i] = spriteId; + } +} + +static void sub_8103E04(u8 a0) +{ + struct Sprite *sprite = gSprites + eSlotMachine->unk44[a0]; + sprite->data[1] = 1; + sprite->data[2] = 4; + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = 2; + sprite->data[7] = 0; +} + +static bool8 sub_8103E38(void) +{ + u8 i; + for (i = 0; i < 5; i++) + { + struct Sprite *sprite = gSprites + eSlotMachine->unk44[i]; + if (sprite->data[1] && sprite->data[2]) + return FALSE; + } + return TRUE; +} + +static bool8 sub_8103E7C(void) +{ + u8 i; + for (i = 0; i < 5; i++) + { + if (!sub_8103EAC(eSlotMachine->unk44[i])) + return FALSE; + } + return TRUE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 17745475ccc35c99ac9b586a03bc39de0936bb2e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 29 Dec 2017 20:03:05 -0500 Subject: through sub_8103FA0 --- asm/slot_machine.s | 174 ----------------------------------------------- include/field_effect.h | 1 + src/field/slot_machine.c | 70 +++++++++++++++++-- 3 files changed, 67 insertions(+), 178 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 500441c75..20e9cc3b0 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,180 +5,6 @@ .text - thumb_func_start sub_8103EAC -sub_8103EAC: @ 8103EAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08103EC8 @ =gSprites - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08103ECC - movs r0, 0x1 - b _08103EDE - .align 2, 0 -_08103EC8: .4byte gSprites -_08103ECC: - ldrh r2, [r1, 0x3C] - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08103EDA - movs r0, 0 - strh r0, [r1, 0x30] -_08103EDA: - lsls r0, r2, 24 - lsrs r0, 24 -_08103EDE: - pop {r1} - bx r1 - thumb_func_end sub_8103EAC - - thumb_func_start sub_8103EE4 -sub_8103EE4: @ 8103EE4 - push {r4-r7,lr} - adds r2, r0, 0 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _08103F66 - ldrh r0, [r2, 0x34] - subs r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08103F4E - movs r0, 0 - strh r0, [r2, 0x3C] - movs r6, 0x1 - strh r6, [r2, 0x34] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x36] - adds r0, r1, r3 - strh r0, [r2, 0x36] - movs r4, 0x4 - ldrh r5, [r2, 0x32] - movs r7, 0x32 - ldrsh r3, [r2, r7] - cmp r3, 0 - beq _08103F20 - movs r4, 0x8 -_08103F20: - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bgt _08103F38 - strh r6, [r2, 0x3C] - negs r0, r1 - strh r0, [r2, 0x38] - cmp r3, 0 - beq _08103F4E - subs r0, r5, 0x1 - strh r0, [r2, 0x32] - b _08103F40 -_08103F38: - cmp r0, r4 - blt _08103F40 - negs r0, r1 - strh r0, [r2, 0x38] -_08103F40: - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _08103F4E - ldrh r0, [r2, 0x34] - lsls r0, 1 - strh r0, [r2, 0x34] -_08103F4E: - ldr r1, _08103F6C @ =gUnknown_083EDD30 - movs r3, 0x2E - ldrsh r0, [r2, r3] - adds r0, r1 - ldrb r0, [r0] - ldrh r3, [r2, 0x36] - lsls r3, 24 - lsrs r3, 24 - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyPaletteRGBComponents -_08103F66: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08103F6C: .4byte gUnknown_083EDD30 - thumb_func_end sub_8103EE4 - - thumb_func_start sub_8103F70 -sub_8103F70: @ 8103F70 - push {r4,lr} - ldr r4, _08103F98 @ =sub_8103FE8 - adds r0, r4, 0 - movs r1, 0x6 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08103F9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1 - strh r2, [r1, 0xE] - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08103F98: .4byte sub_8103FE8 -_08103F9C: .4byte gTasks - thumb_func_end sub_8103F70 - - thumb_func_start sub_8103FA0 -sub_8103FA0: @ 8103FA0 - push {lr} - ldr r0, _08103FC4 @ =sub_8103FE8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08103FC8 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08103FCC - movs r0, 0 - b _08103FE0 - .align 2, 0 -_08103FC4: .4byte sub_8103FE8 -_08103FC8: .4byte gTasks -_08103FCC: - adds r0, r2, 0 - bl DestroyTask - ldr r0, _08103FE4 @ =gUnknown_083EDDAC - ldr r0, [r0] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x1 -_08103FE0: - pop {r1} - bx r1 - .align 2, 0 -_08103FE4: .4byte gUnknown_083EDDAC - thumb_func_end sub_8103FA0 - thumb_func_start sub_8103FE8 sub_8103FE8: @ 8103FE8 push {lr} diff --git a/include/field_effect.h b/include/field_effect.h index 9f71efba1..bb859074f 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -252,6 +252,7 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite); void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); void sub_80878A8(void); void sub_8087BA8(void); +void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); extern s32 gFieldEffectArguments[8]; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 82ac4e9e7..659688d81 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3,6 +3,7 @@ #include "strings2.h" #include "overworld.h" #include "menu_cursor.h" +#include "field_effect.h" #include "random.h" #include "sound.h" #include "main.h" @@ -110,10 +111,11 @@ static void sub_8103DC8(void); static void sub_8103E04(u8 a0); static bool8 sub_8103E38(void); static bool8 sub_8103E7C(void); -bool8 sub_8103EAC(u8 a0); -void sub_8103EE4(struct Sprite *sprite); -void sub_8103F70(void); -bool8 sub_8103FA0(void); +static bool8 sub_8103EAC(u8 spriteId); +static void sub_8103EE4(struct Sprite *sprite); +static void sub_8103F70(void); +void sub_8103FE8(u8 taskId); +static bool8 sub_8103FA0(void); void sub_8104048(void); void sub_8104064(u8 a0); bool8 sub_81040C8(void); @@ -2190,6 +2192,66 @@ static bool8 sub_8103E7C(void) return TRUE; } +static bool8 sub_8103EAC(u8 spriteId) +{ + struct Sprite *sprite = gSprites + spriteId; + if (!sprite->data[1]) + return TRUE; + if (sprite->data[7]) + sprite->data[1] = 0; + return sprite->data[7]; +} + +static void sub_8103EE4(struct Sprite *sprite) +{ + s16 r4; + if (sprite->data[1]) + { + if (!sprite->data[3]--) + { + sprite->data[7] = 0; + sprite->data[3] = 1; + sprite->data[4] += sprite->data[5]; + r4 = 4; + if (sprite->data[2]) + r4 = 8; + if (sprite->data[4] <= 0) + { + sprite->data[7] = 1; + sprite->data[5] = -sprite->data[5]; + if (sprite->data[2]) + sprite->data[2]--; + } + else if (sprite->data[4] >= r4) + sprite->data[5] = -sprite->data[5]; + if (sprite->data[2]) + sprite->data[3] <<= 1; + } + MultiplyPaletteRGBComponents(gUnknown_083EDD30[sprite->data[0]], sprite->data[4], sprite->data[4], sprite->data[4]); + } +} + +static void sub_8103F70(void) +{ + u8 taskId = CreateTask(sub_8103FE8, 6); + gTasks[taskId].data[3] = 1; + sub_8103FE8(taskId); +} + +extern const u16 *const gUnknown_083EDDAC; + +static bool8 sub_8103FA0(void) +{ + u8 taskId = FindTaskIdByFunc(sub_8103FE8); + if (!gTasks[taskId].data[2]) + { + DestroyTask(taskId); + LoadPalette(gUnknown_083EDDAC, 0x10, 0x20); + return TRUE; + } + return FALSE; +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 8eb7f3db6ee630fd801391ac3a3b574abfa7a08d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 29 Dec 2017 21:14:09 -0500 Subject: through sub_8104144 --- asm/slot_machine.s | 248 ----------------------------------------------- include/slot_machine.h | 3 +- src/field/slot_machine.c | 91 ++++++++++++++++- 3 files changed, 90 insertions(+), 252 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 20e9cc3b0..64cdf3a3d 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,254 +5,6 @@ .text - thumb_func_start sub_8103FE8 -sub_8103FE8: @ 8103FE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08104040 @ =gTasks - adds r2, r1, r0 - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08104026 - movs r0, 0x4 - strh r0, [r2, 0xA] - ldrh r1, [r2, 0xE] - ldrh r3, [r2, 0xC] - adds r0, r1, r3 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _08104022 - cmp r0, 0x2 - bne _08104026 -_08104022: - negs r0, r1 - strh r0, [r2, 0xE] -_08104026: - ldr r0, _08104044 @ =gUnknown_083EDDA0 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_08104040: .4byte gTasks -_08104044: .4byte gUnknown_083EDDA0 - thumb_func_end sub_8103FE8 - - thumb_func_start sub_8104048 -sub_8104048: @ 8104048 - push {lr} - ldr r0, _0810405C @ =sub_81040E8 - movs r1, 0x8 - bl CreateTask - ldr r1, _08104060 @ =gSharedMem - adds r1, 0x3E - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0810405C: .4byte sub_81040E8 -_08104060: .4byte gSharedMem - thumb_func_end sub_8104048 - - thumb_func_start sub_8104064 -sub_8104064: @ 8104064 - push {r4,lr} - ldr r0, _08104090 @ =gSharedMem - adds r0, 0x3E - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _08104094 @ =gTasks - adds r4, r0 - adds r0, r4, 0 - bl sub_810421C - movs r1, 0x1 - strh r1, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - strh r1, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104090: .4byte gSharedMem -_08104094: .4byte gTasks - thumb_func_end sub_8104064 - - thumb_func_start sub_8104098 -sub_8104098: @ 8104098 - push {r4,lr} - ldr r0, _081040C0 @ =gSharedMem - adds r0, 0x3E - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _081040C4 @ =gTasks - adds r4, r0 - adds r0, r4, 0 - bl sub_810421C - movs r0, 0x3 - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081040C0: .4byte gSharedMem -_081040C4: .4byte gTasks - thumb_func_end sub_8104098 - - thumb_func_start sub_81040C8 -sub_81040C8: @ 81040C8 - ldr r2, _081040E0 @ =gTasks - ldr r0, _081040E4 @ =gSharedMem - adds r0, 0x3E - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_081040E0: .4byte gTasks -_081040E4: .4byte gSharedMem - thumb_func_end sub_81040C8 - - thumb_func_start sub_81040E8 -sub_81040E8: @ 81040E8 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08104110 @ =gUnknown_083ECBB4 - ldr r2, _08104114 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08104110: .4byte gUnknown_083ECBB4 -_08104114: .4byte gTasks - thumb_func_end sub_81040E8 - - thumb_func_start nullsub_68 -nullsub_68: @ 8104118 - bx lr - thumb_func_end nullsub_68 - - thumb_func_start sub_810411C -sub_810411C: @ 810411C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - lsls r0, 19 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - asrs r0, 16 - movs r1, 0x14 - bl sub_8105B1C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810411C - - thumb_func_start sub_8104144 -sub_8104144: @ 8104144 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _08104174 @ =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0810419E - ldrh r1, [r4, 0xA] - adds r0, r1, 0x2 - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1 - bne _08104178 - movs r0, 0x1 - b _0810417E - .align 2, 0 -_08104174: .4byte gSprites -_08104178: - cmp r1, 0x10 - bne _0810417E - movs r0, 0x2 -_0810417E: - lsls r1, r2, 16 - asrs r1, 15 - ldr r2, _081041A4 @ =0x0600e800 - adds r1, r2 - adds r1, 0x80 - ldr r2, _081041A8 @ =gUnknown_083ECBC4 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - ldrb r0, [r4, 0xC] - bl sub_8105B88 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x26] -_0810419E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081041A4: .4byte 0x0600e800 -_081041A8: .4byte gUnknown_083ECBC4 - thumb_func_end sub_8104144 - thumb_func_start sub_81041AC sub_81041AC: @ 81041AC push {r4,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index b04ee6377..81263e97e 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -28,7 +28,8 @@ struct SlotMachineEwramStruct { /*0x34*/ s16 unk34[3]; /*0x3A*/ u8 unk3A[3]; /*0x3D*/ u8 unk3D; - /*0x3E*/ u8 filler3E[6]; + /*0x3E*/ u8 unk3E; + /*0x3F*/ u8 filler3F[5]; /*0x44*/ u8 unk44[5]; /*0x49*/ u8 filler49[15]; /*0x58*/ u16 win0h; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 659688d81..9efaccd39 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -114,11 +114,13 @@ static bool8 sub_8103E7C(void); static bool8 sub_8103EAC(u8 spriteId); static void sub_8103EE4(struct Sprite *sprite); static void sub_8103F70(void); -void sub_8103FE8(u8 taskId); static bool8 sub_8103FA0(void); -void sub_8104048(void); -void sub_8104064(u8 a0); +static void sub_8103FE8(u8 taskId); +static void sub_8104048(void); +static void sub_8104064(u8 unused); bool8 sub_81040C8(void); +void sub_81040E8(u8 taskId); +void sub_810421C(struct Task *task); void sub_810423C(u8 a0); void sub_810430C(void); bool8 sub_810432C(void); @@ -130,6 +132,8 @@ bool8 sub_8104E18(void); void sub_8104EA8(void); void sub_8104F8C(void); void sub_81050C4(void); +u8 sub_8105B1C(s16 a0, s16 a1); +void sub_8105B88(u8 a0); void sub_81063C0(void); static void sub_8106448(void); void sub_81064B8(void); @@ -2238,6 +2242,7 @@ static void sub_8103F70(void) sub_8103FE8(taskId); } +extern const u16 *const gUnknown_083EDDA0[]; extern const u16 *const gUnknown_083EDDAC; static bool8 sub_8103FA0(void) @@ -2252,6 +2257,86 @@ static bool8 sub_8103FA0(void) return FALSE; } +static void sub_8103FE8(u8 taskId) +{ + struct Task *task = gTasks + taskId; + if (!task->data[1]--) + { + 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); +} + +static void sub_8104048(void) +{ + eSlotMachine->unk3E = CreateTask(sub_81040E8, 8); +} + +static void sub_8104064(u8 unused) +{ + struct Task *task = gTasks + eSlotMachine->unk3E; + sub_810421C(task); + task->data[0] = 1; + task->data[1]++; + task->data[15] = 1; +} + +void sub_8104098(void) +{ + struct Task *task = gTasks + eSlotMachine->unk3E; + sub_810421C(task); + task->data[0] = 3; + task->data[15] = 1; +} + +bool8 sub_81040C8(void) +{ + return gTasks[eSlotMachine->unk3E].data[15]; +} + +extern void (*const gUnknown_083ECBB4[])(struct Task *task); + +void sub_81040E8(u8 taskId) +{ + gUnknown_083ECBB4[gTasks[taskId].data[0]](gTasks + taskId); +} + +void nullsub_68(struct Task *task) +{ + +} + +void sub_810411C(struct Task *task) +{ + task->data[2] = sub_8105B1C((task->data[1] << 3) + 20, 20); + task->data[0]++; +} + +extern const u16 gUnknown_083ECBC4[][2]; + +void sub_8104144(struct Task *task) +{ + u16 *vaddr = (u16 *)BG_SCREEN_ADDR(29); + if (gSprites[task->data[2]].data[7]) + { + s16 r2 = task->data[1] + 2; + u8 r0 = 0; + if (task->data[1] == 1) + r0 = 1; + else if (task->data[1] == 16) + r0 = 2; + vaddr[r2 + 0x40] = gUnknown_083ECBC4[r0][0]; + sub_8105B88(task->data[2]); + task->data[0] = 0; + task->data[15] = 0; + } +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 1d1c88a850e0967051599b37873328e63ae63643 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 10:30:24 -0500 Subject: through sub_810437C --- asm/slot_machine.s | 305 ----------------------------------------------- src/field/slot_machine.c | 119 +++++++++++++++++- 2 files changed, 114 insertions(+), 310 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 64cdf3a3d..4cf21d22e 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,311 +5,6 @@ .text - thumb_func_start sub_81041AC -sub_81041AC: @ 81041AC - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0xA] - adds r0, r1, 0x2 - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1 - bne _081041C6 - movs r2, 0x1 - b _081041CC -_081041C6: - cmp r1, 0x10 - bne _081041CC - movs r2, 0x2 -_081041CC: - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _081041F0 - lsls r0, r4, 16 - asrs r0, 15 - ldr r1, _08104214 @ =0x0600e800 - adds r0, r1 - adds r0, 0x80 - ldr r1, _08104218 @ =gUnknown_083ECBC4 - lsls r2, 2 - adds r1, 0x2 - adds r2, r1 - ldrh r1, [r2] - strh r1, [r0] - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] -_081041F0: - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _08104202 - movs r0, 0 - strh r0, [r3, 0xC] -_08104202: - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0810420E - strh r0, [r3, 0x8] - strh r0, [r3, 0x26] -_0810420E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104214: .4byte 0x0600e800 -_08104218: .4byte gUnknown_083ECBC4 - thumb_func_end sub_81041AC - - thumb_func_start sub_810421C -sub_810421C: @ 810421C - push {lr} - movs r1, 0x2 - adds r2, r0, 0 - adds r2, 0x8 - movs r3, 0 -_08104226: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _08104226 - pop {r0} - bx r0 - thumb_func_end sub_810421C - - thumb_func_start sub_810423C -sub_810423C: @ 810423C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0x3 - ldr r6, _08104268 @ =0x0600e800 - movs r4, 0 - ldr r0, _0810426C @ =gTasks - mov r8, r0 - ldr r1, _08104270 @ =gSharedMem - mov r12, r1 - cmp r4, r5 - bge _081042A6 - ldr r7, _08104274 @ =gUnknown_083ECBC4 -_0810425A: - movs r3, 0 - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0 - bne _08104278 - movs r3, 0x1 - b _0810427E - .align 2, 0 -_08104268: .4byte 0x0600e800 -_0810426C: .4byte gTasks -_08104270: .4byte gSharedMem -_08104274: .4byte gUnknown_083ECBC4 -_08104278: - cmp r0, 0xF - bne _0810427E - movs r3, 0x2 -_0810427E: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r1, r6 - adds r1, 0x80 - lsls r0, r3, 2 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r0, r4, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - adds r2, 0x1 - lsls r2, 16 - lsrs r2, 16 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, r5 - blt _0810425A -_081042A6: - lsls r1, r4, 16 - asrs r0, r1, 16 - cmp r0, 0xF - bgt _081042F0 - ldr r7, _081042BC @ =gUnknown_083ECBC4 + 0x2 -_081042B0: - movs r3, 0 - asrs r0, r1, 16 - cmp r0, 0 - bne _081042C0 - movs r3, 0x1 - b _081042C6 - .align 2, 0 -_081042BC: .4byte gUnknown_083ECBC4 + 0x2 -_081042C0: - cmp r0, 0xF - bne _081042C6 - movs r3, 0x2 -_081042C6: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r1, r6 - adds r1, 0x80 - lsls r0, r3, 2 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r0, r4, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r4, r0, 16 - adds r2, 0x1 - lsls r2, 16 - lsrs r2, 16 - lsls r1, r4, 16 - asrs r0, r1, 16 - cmp r0, 0xF - ble _081042B0 -_081042F0: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - add r0, r8 - strh r5, [r0, 0xA] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810423C - - thumb_func_start sub_810430C -sub_810430C: @ 810430C - push {r4,lr} - ldr r4, _08104328 @ =sub_810434C - adds r0, r4, 0 - movs r1, 0x7 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104328: .4byte sub_810434C - thumb_func_end sub_810430C - - thumb_func_start sub_810432C -sub_810432C: @ 810432C - push {lr} - ldr r0, _08104340 @ =sub_810434C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08104344 - movs r0, 0 - b _08104346 - .align 2, 0 -_08104340: .4byte sub_810434C -_08104344: - movs r0, 0x1 -_08104346: - pop {r1} - bx r1 - thumb_func_end sub_810432C - - thumb_func_start sub_810434C -sub_810434C: @ 810434C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08104374 @ =gUnknown_083ECBD0 - ldr r2, _08104378 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08104374: .4byte gUnknown_083ECBD0 -_08104378: .4byte gTasks - thumb_func_end sub_810434C - - thumb_func_start sub_810437C -sub_810437C: @ 810437C - push {lr} - ldr r1, _081043DC @ =gSharedMem - movs r2, 0 - strb r2, [r1, 0xA] - strh r2, [r1, 0x14] - strh r2, [r1, 0x16] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1E - strh r1, [r0, 0xC] - movs r1, 0xA0 - lsls r1, 3 - strh r1, [r0, 0x10] - ldr r0, _081043E0 @ =gSpriteCoordOffsetX - strh r2, [r0] - ldr r0, _081043E4 @ =gSpriteCoordOffsetY - strh r2, [r0] - ldr r0, _081043E8 @ =REG_BG1HOFS - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - movs r0, 0x1E - movs r1, 0 - bl sub_8104A40 - bl sub_81051C0 - bl sub_8105100 - bl sub_81052EC - bl sub_81053A0 - bl sub_810545C - bl sub_8102680 - bl StopMapMusic - movs r0, 0xC4 - lsls r0, 1 - bl PlayNewMapMusic - pop {r0} - bx r0 - .align 2, 0 -_081043DC: .4byte gSharedMem -_081043E0: .4byte gSpriteCoordOffsetX -_081043E4: .4byte gSpriteCoordOffsetY -_081043E8: .4byte REG_BG1HOFS - thumb_func_end sub_810437C - thumb_func_start sub_81043EC sub_81043EC: @ 81043EC push {r4,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 9efaccd39..f7679588c 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -119,11 +119,13 @@ static void sub_8103FE8(u8 taskId); static void sub_8104048(void); static void sub_8104064(u8 unused); bool8 sub_81040C8(void); -void sub_81040E8(u8 taskId); -void sub_810421C(struct Task *task); +static void sub_81040E8(u8 taskId); +static void sub_810421C(struct Task *task); void sub_810423C(u8 a0); -void sub_810430C(void); -bool8 sub_810432C(void); +static void sub_810430C(void); +static bool8 sub_810432C(void); +void sub_810434C(u8 taskId); +void sub_8104A40(s16 a0, s16 a1); void sub_8104AB8(u8 a0); bool8 sub_8104AEC(void); void sub_8104C5C(void); @@ -132,6 +134,11 @@ bool8 sub_8104E18(void); void sub_8104EA8(void); void sub_8104F8C(void); void sub_81050C4(void); +void sub_8105100(void); +void sub_81051C0(void); +void sub_81052EC(void); +void sub_81053A0(void); +void sub_810545C(void); u8 sub_8105B1C(s16 a0, s16 a1); void sub_8105B88(u8 a0); void sub_81063C0(void); @@ -2301,7 +2308,7 @@ bool8 sub_81040C8(void) extern void (*const gUnknown_083ECBB4[])(struct Task *task); -void sub_81040E8(u8 taskId) +static void sub_81040E8(u8 taskId) { gUnknown_083ECBB4[gTasks[taskId].data[0]](gTasks + taskId); } @@ -2337,6 +2344,108 @@ void sub_8104144(struct Task *task) } } +void sub_81041AC(struct Task *task) +{ + u16 *vaddr = (u16 *)BG_SCREEN_ADDR(29); + s16 r4 = task->data[1] + 2; + u8 r2 = 0; + if (task->data[1] == 1) + r2 = 1; + else if (task->data[1] == 16) + r2 = 2; + if (task->data[2] == 0) + { + vaddr[r4 + 0x40] = gUnknown_083ECBC4[r2][1]; + task->data[1]--; + } + if (++task->data[2] >= 20) + task->data[2] = 0; + if (task->data[1] == 0) + { + task->data[0] = 0; + task->data[15] = 0; + } +} + +static void sub_810421C(struct Task *task) +{ + u8 i; + + for (i = 2; i < 16; i++) + task->data[i] = 0; +} + +void sub_810423C(u8 a0) +{ + s16 i; + u8 r3; + s16 r2 = 3; + u16 *vaddr = (u16 *)BG_SCREEN_ADDR(29); + for (i = 0; i < a0; i++, r2++) + { + r3 = 0; + if (i == 0) + r3 = 1; + else if (i == 15) + r3 = 2; + vaddr[r2 + 0x40] = gUnknown_083ECBC4[r3][0]; + } + for (; i < 16; i++, r2++) + { + r3 = 0; + if (i == 0) + r3 = 1; + else if (i == 15) + r3 = 2; + vaddr[r2 + 0x40] = gUnknown_083ECBC4[r3][1]; + } + gTasks[eSlotMachine->unk3E].data[1] = a0; +} + +static void sub_810430C(void) +{ + u8 taskId = CreateTask(sub_810434C, 7); + sub_810434C(taskId); +} + +static bool8 sub_810432C(void) +{ + if (FindTaskIdByFunc(sub_810434C) == 0xFF) + return TRUE; + return FALSE; +} + +extern void (*const gUnknown_083ECBD0[])(struct Task *task); + +void sub_810434C(u8 taskId) +{ + gUnknown_083ECBD0[gTasks[taskId].data[0]](gTasks + taskId); +} + +void sub_810437C(struct Task *task) +{ + eSlotMachine->unk0A = 0; + eSlotMachine->unk14 = 0; + eSlotMachine->unk16 = 0; + task->data[0]++; + task->data[1] = 0; + task->data[2] = 30; + task->data[4] = 1280; + gSpriteCoordOffsetX = 0; + gSpriteCoordOffsetY = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + sub_8104A40(30, 0); + sub_81051C0(); + sub_8105100(); + sub_81052EC(); + sub_81053A0(); + sub_810545C(); + sub_8102680(); + StopMapMusic(); + PlayNewMapMusic(BGM_BD_TIME); +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 13b2657c49b60dcf5d851a63346801232f9ee832 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 13:31:22 -0500 Subject: through sub_8104498; decompile some data --- asm/slot_machine.s | 170 --------------------------- data/slot_machine.s | 114 ------------------ include/global.h | 2 +- include/slot_machine.h | 3 +- src/field/slot_machine.c | 294 +++++++++++++++++++++++++++++++++++++---------- 5 files changed, 236 insertions(+), 347 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 4cf21d22e..e3adefac1 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,176 +5,6 @@ .text - thumb_func_start sub_81043EC -sub_81043EC: @ 81043EC - push {r4,lr} - adds r4, r0, 0 - ldr r1, _0810445C @ =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x8 - strh r0, [r1] - ldrh r2, [r4, 0xA] - adds r2, 0x8 - strh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r0, 0xF0 - movs r1, 0xFF - ands r0, r1 - lsrs r3, r0, 3 - ldr r1, _08104460 @ =REG_BG1HOFS - ldr r0, _08104464 @ =0x000001ff - ands r2, r0 - strh r2, [r1] - adds r2, r3, 0 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r2, r0 - beq _08104438 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bgt _08104438 - strh r3, [r4, 0xC] - ldrh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 19 - strh r0, [r4, 0xE] - movs r0, 0xE - ldrsh r1, [r4, r0] - adds r0, r2, 0 - bl sub_8104A40 -_08104438: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xC7 - ble _0810444A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xE] -_0810444A: - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810445C: .4byte gSpriteCoordOffsetX -_08104460: .4byte REG_BG1HOFS -_08104464: .4byte 0x000001ff - thumb_func_end sub_81043EC - - thumb_func_start sub_8104468 -sub_8104468: @ 8104468 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _08104492 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_8105578 - bl sub_81056F0 -_08104492: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8104468 - - thumb_func_start sub_8104498 -sub_8104498: @ 8104498 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r7, r0, 0 - ldr r1, _08104534 @ =gUnknown_083ECC1C - mov r0, sp - movs r2, 0x4 - bl memcpy - add r0, sp, 0x4 - mov r8, r0 - ldr r1, _08104538 @ =gUnknown_083ECC20 - movs r2, 0x8 - bl memcpy - add r6, sp, 0xC - ldr r1, _0810453C @ =gUnknown_083ECC28 - adds r0, r6, 0 - movs r2, 0x8 - bl memcpy - ldrh r0, [r7, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - ldrh r0, [r7, 0x10] - subs r0, 0x4 - strh r0, [r7, 0x10] - lsls r0, 16 - asrs r0, 24 - movs r5, 0x4 - subs r5, r0 - lsls r4, r5, 1 - add r8, r4 - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - bl sub_8105688 - adds r6, r4 - movs r1, 0 - ldrsh r0, [r6, r1] - bl sub_81057E8 - ldr r0, _08104540 @ =gSharedMem - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08104544 @ =gSprites - adds r0, r1 - mov r2, sp - adds r1, r2, r5 - ldrb r1, [r1] - bl StartSpriteAnimIfDifferent - movs r1, 0x10 - ldrsh r0, [r7, r1] - movs r1, 0x80 - lsls r1, 1 - cmp r0, r1 - bgt _08104526 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - strh r1, [r7, 0x10] - movs r0, 0 - strh r0, [r7, 0x12] -_08104526: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08104534: .4byte gUnknown_083ECC1C -_08104538: .4byte gUnknown_083ECC20 -_0810453C: .4byte gUnknown_083ECC28 -_08104540: .4byte gSharedMem -_08104544: .4byte gSprites - thumb_func_end sub_8104498 - thumb_func_start sub_8104548 sub_8104548: @ 8104548 push {r4,lr} diff --git a/data/slot_machine.s b/data/slot_machine.s index 3d7c6253c..91b3b0ebf 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,120 +3,6 @@ .section .rodata - .align 2 -gUnknown_083ECB20:: @ 83ECB20 - .4byte sub_8102A9C - .4byte sub_8102AD0 - .4byte sub_8102B80 - - .align 2 -gUnknown_083ECB2C:: @ 83ECB2C - .4byte sub_8102EA0 - .4byte sub_8102EA4 - .4byte sub_8102EC0 - .4byte sub_8102F4C - .4byte sub_8103008 - - .align 2 -gUnknown_083ECB40:: @ 83ECB40 - .4byte sub_810305C - .4byte sub_81032C0 - .4byte sub_81033DC - - .align 2 -gUnknown_083ECB4C:: @ 83ECB4C - .4byte sub_81034F4 - .4byte sub_8103540 - .4byte sub_810380C - - .align 1 -gUnknown_083ECB58:: @ 83ECB58 (sub_8102F4C) - .2byte 2, 4, 4, 4, 8 - - .align 2 -gUnknown_083ECB64:: @ 83ECB64 - .4byte sub_8103154 - .4byte sub_81031B4 - .4byte sub_81031B4 - - .align 2 -gUnknown_083ECB70:: @ 83ECB70 - .4byte sub_81032E8 - .4byte sub_81032E8 - .4byte sub_810333C - - .align 2 -gUnknown_083ECB7C:: @ 83ECB7C - .4byte sub_810341C - .4byte sub_810341C - .4byte sub_810347C - - .align 2 -gUnknown_083ECB88:: @ 83ECB88 - .4byte sub_8103564 - .4byte j5_08111E84 - .4byte sub_8103668 - - .align 2 -gUnknown_083ECB94:: @ 83ECB94 - .4byte sub_8103830 - .4byte sub_8103910 - .4byte sub_8103A78 - - .align 2 -gUnknown_083ECBA0:: @ 83ECBA0 - .4byte sub_8103C78 - .4byte sub_8103CAC - .4byte sub_8103CC8 - - .align 1 -gUnknown_083ECBAC:: @ 83ECBAC - .2byte 5, 10, 15 - - .align 2 -gUnknown_083ECBB4:: @ 83ECBB4 - .4byte nullsub_68 - .4byte sub_810411C - .4byte sub_8104144 - .4byte sub_81041AC - - .align 1 -gUnknown_083ECBC4:: @ 83ECBC4 - .2byte 0x9E, 0x6E, 0x9F, 0x6F, 0xAF, 0x7F - - .align 2 -gUnknown_083ECBD0:: @ 83ECBD0 - .4byte sub_810437C - .4byte sub_81043EC - .4byte sub_8104468 - .4byte sub_8104498 - .4byte sub_8104548 - .4byte sub_8104598 - .4byte sub_81045CC - .4byte sub_810463C - .4byte sub_81046C0 - .4byte sub_8104764 - .4byte sub_8104794 - .4byte sub_81047EC - .4byte sub_8104860 - .4byte sub_81048A8 - .4byte sub_81048CC - .4byte sub_8104940 - .4byte sub_81049C8 - .4byte sub_8104794 - .4byte sub_81049F8 - -gUnknown_083ECC1C:: @ 83ECC1C - .byte 1, 1, 2, 2 - - .align 1 -gUnknown_083ECC20:: @ 83ECC20 - .2byte 0x40, 0x30, 0x18, 0x8 - - .align 1 -gUnknown_083ECC28:: @ 83ECC28 - .2byte 10, 8, 6, 4 - .align 2 gUnknown_083ECC30:: @ 83ECC30 .4byte sub_8104B3C diff --git a/include/global.h b/include/global.h index a4e71852c..2ea69a1e1 100644 --- a/include/global.h +++ b/include/global.h @@ -5,7 +5,7 @@ #include "config.h" // IDE support -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__CYGWIN__) #define _(x) x #define __(x) x #define INCBIN_U8 {0} diff --git a/include/slot_machine.h b/include/slot_machine.h index 81263e97e..a7a1fed44 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -29,7 +29,8 @@ struct SlotMachineEwramStruct { /*0x3A*/ u8 unk3A[3]; /*0x3D*/ u8 unk3D; /*0x3E*/ u8 unk3E; - /*0x3F*/ u8 filler3F[5]; + /*0x3F*/ u8 unk3F; + /*0x40*/ u8 filler40[4]; /*0x44*/ u8 unk44[5]; /*0x49*/ u8 filler49[15]; /*0x58*/ u16 win0h; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index f7679588c..8bfb30bfa 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -22,20 +22,12 @@ struct UnkStruct1 { /*0x02*/ s16 unk02; }; -extern struct UnkStruct1 *gUnknown_083ED048[]; -extern const u16 gPalette_83EDE24[]; - -extern const u8 gSlotMachine_Gfx[]; #if ENGLISH #define SLOTMACHINE_GFX_TILES 233 #elif GERMAN #define SLOTMACHINE_GFX_TILES 236 #endif -extern const u16 gUnknown_08E95A18[]; - -extern u16 gUnknown_08E95AB8[]; -extern u16 gUnknown_08E95FB8[]; static void sub_81018B8(void); static void sub_8101954(void); @@ -97,15 +89,44 @@ static u8 sub_81029D4(u8 c1, u8 c2, u8 c3); static void sub_8102A24(void); static void sub_8102A64(u8 taskId); static bool8 sub_8102A44(void); +bool8 sub_8102A9C(struct Task *task); +bool8 sub_8102AD0(struct Task *task); +bool8 sub_8102B80(struct Task *task); u8 sub_8102BA4(u8 x, s16 y); static void sub_8102DA8(void); static void sub_8102DEC(u8 a0); static void sub_8102E1C(u8 a0); static bool8 sub_8102E40(u8 a0); static void sub_8102E68(u8 taskId); +bool8 sub_8102EA0(struct Task *task); +bool8 sub_8102EA4(struct Task *task); +bool8 sub_8102EC0(struct Task *task); +bool8 sub_8102F4C(struct Task *task); +bool8 sub_8103008(struct Task *task); +bool8 sub_810305C(void); +bool8 sub_8103154(u8 a0, u8 a1); +bool8 sub_81031B4(u8 a0, u8 a1); +bool8 sub_81032C0(void); +bool8 sub_81032E8(void); +bool8 sub_810333C(void); +bool8 sub_81033DC(void); +bool8 sub_810341C(u8 a0); +bool8 sub_810347C(u8 a0); +void sub_81034F4(void); +void sub_8103540(void); +void sub_8103564(void); +void j5_08111E84(void); +void sub_8103668(void); +void sub_810380C(void); +void sub_8103830(void); +void sub_8103910(void); +void sub_8103A78(void); static void sub_8103C14(u8 a0); static void sub_8103C48(u8 taskId); static void sub_8103D50(u8 a0); +void sub_8103C78(struct Task *task, u8 taskId); +void sub_8103CAC(struct Task *task, u8 taskId); +void sub_8103CC8(struct Task *task, u8 taskId); static void sub_8103D8C(u8 a0); static void sub_8103DC8(void); static void sub_8103E04(u8 a0); @@ -120,11 +141,33 @@ static void sub_8104048(void); static void sub_8104064(u8 unused); bool8 sub_81040C8(void); static void sub_81040E8(u8 taskId); +void nullsub_68(struct Task *task); +void sub_810411C(struct Task *task); +void sub_8104144(struct Task *task); +void sub_81041AC(struct Task *task); static void sub_810421C(struct Task *task); void sub_810423C(u8 a0); static void sub_810430C(void); static bool8 sub_810432C(void); void sub_810434C(u8 taskId); +void sub_810437C(struct Task *task); +void sub_81043EC(struct Task *task); +void sub_8104468(struct Task *task); +void sub_8104498(struct Task *task); +void sub_8104548(struct Task *task); +void sub_8104598(struct Task *task); +void sub_81045CC(struct Task *task); +void sub_810463C(struct Task *task); +void sub_81046C0(struct Task *task); +void sub_8104764(struct Task *task); +void sub_8104794(struct Task *task); +void sub_81047EC(struct Task *task); +void sub_8104860(struct Task *task); +void sub_81048A8(struct Task *task); +void sub_81048CC(struct Task *task); +void sub_8104940(struct Task *task); +void sub_81049C8(struct Task *task); +void sub_81049F8(struct Task *task); void sub_8104A40(s16 a0, s16 a1); void sub_8104AB8(u8 a0); bool8 sub_8104AEC(void); @@ -139,6 +182,10 @@ void sub_81051C0(void); void sub_81052EC(void); void sub_81053A0(void); void sub_810545C(void); +void sub_8105578(void); +void sub_8105688(s16 a0); +void sub_81056F0(void); +void sub_81057E8(s16 a0); u8 sub_8105B1C(s16 a0, s16 a1); void sub_8105B88(u8 a0); void sub_81063C0(void); @@ -146,38 +193,12 @@ static void sub_8106448(void); void sub_81064B8(void); void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); -static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { - sub_8101D5C, - sub_8101D8C, - sub_8101DB0, - sub_8101DF4, - sub_8101E10, - sub_8101E3C, - sub_8101F44, - sub_8101F60, - sub_8101F88, - sub_8101FA4, - sub_8102008, - sub_8102034, - sub_8102058, - sub_8102090, - sub_81020C8, - sub_81021E0, - sub_81021FC, - sub_8102264, - sub_81022A0, - sub_81022CC, - sub_81022F0, - sub_8102318, - sub_8102344, - sub_810239C, - sub_81023B8, - sub_81023E0, - sub_81023FC, - sub_8102424, - sub_8102460 -}; - +extern struct UnkStruct1 *gUnknown_083ED048[]; +extern const u16 gPalette_83EDE24[]; +extern const u8 gSlotMachine_Gfx[]; +extern const u16 gUnknown_08E95A18[]; +extern u16 gUnknown_08E95AB8[]; +extern u16 gUnknown_08E95FB8[]; extern const u8 gUnknown_083ECD04[][3]; extern const u8 gUnknown_083ECE3A[]; extern const u16 gUnknown_083ECE42[]; @@ -395,6 +416,38 @@ static void sub_8101D04(void) sub_8101D24(CreateTask(sub_8101D24, 0)); } +static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { + sub_8101D5C, + sub_8101D8C, + sub_8101DB0, + sub_8101DF4, + sub_8101E10, + sub_8101E3C, + sub_8101F44, + sub_8101F60, + sub_8101F88, + sub_8101FA4, + sub_8102008, + sub_8102034, + sub_8102058, + sub_8102090, + sub_81020C8, + sub_81021E0, + sub_81021FC, + sub_8102264, + sub_81022A0, + sub_81022CC, + sub_81022F0, + sub_8102318, + sub_8102344, + sub_810239C, + sub_81023B8, + sub_81023E0, + sub_81023FC, + sub_8102424, + sub_8102460 +}; + static void sub_8101D24(u8 taskId) { while (gUnknown_083ECAAC[eSlotMachine->state](gTasks + taskId)); @@ -1174,7 +1227,11 @@ static bool8 sub_8102A44(void) return FALSE; } -extern bool8 (*const gUnknown_083ECB20[])(struct Task *task); +bool8 (*const gUnknown_083ECB20[])(struct Task *task) = { + sub_8102A9C, + sub_8102AD0, + sub_8102B80 +}; static void sub_8102A64(u8 taskId) { @@ -1338,7 +1395,13 @@ static bool8 sub_8102E40(u8 a0) return gTasks[eSlotMachine->unk3A[a0]].data[14]; } -extern bool8 (*const gUnknown_083ECB2C[])(struct Task *task); +bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = { + sub_8102EA0, + sub_8102EA4, + sub_8102EC0, + sub_8102F4C, + sub_8103008 +}; static void sub_8102E68(u8 taskId) { @@ -1356,8 +1419,16 @@ bool8 sub_8102EA4(struct Task *task) return FALSE; } -extern bool8 (*const gUnknown_083ECB40[])(void); -extern void (*const gUnknown_083ECB4C[])(void); +bool8 (*const gUnknown_083ECB40[])(void) = { + sub_810305C, + sub_81032C0, + sub_81033DC +}; +void (*const gUnknown_083ECB4C[])(void) = { + sub_81034F4, + sub_8103540, + sub_810380C +}; bool8 sub_8102EC0(struct Task *task) { @@ -1373,15 +1444,10 @@ bool8 sub_8102EC0(struct Task *task) return TRUE; } -extern const u16 gUnknown_083ECB58[5]; // don't move this - bool8 sub_8102F4C(struct Task *task) { - s16 r2; - u16 sp[5]; - memcpy(sp, gUnknown_083ECB58, sizeof gUnknown_083ECB58); - // u16 sp[] = {2, 4, 4, 4, 8}; - r2 = eSlotMachine->unk1C[task->data[15]] % 24; + 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); @@ -1419,7 +1485,11 @@ bool8 sub_8103008(struct Task *task) return FALSE; } -extern bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1); +bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1) = { + sub_8103154, + sub_81031B4, + sub_81031B4 +}; bool8 sub_810305C(void) { @@ -1522,7 +1592,11 @@ bool8 sub_81031B4(u8 a0, u8 a1) return FALSE; } -extern bool8 (*const gUnknown_083ECB70[])(void); +bool8 (*const gUnknown_083ECB70[])(void) = { + sub_81032E8, + sub_81032E8, + sub_810333C +}; bool8 sub_81032C0(void) { @@ -1580,7 +1654,11 @@ bool8 sub_810333C(void) return FALSE; } -extern bool8 (*const gUnknown_083ECB7C[])(u8 a0); +bool8 (*const gUnknown_083ECB7C[])(u8 a0) = { + sub_810341C, + sub_810341C, + sub_810347C +}; bool8 sub_81033DC(void) { @@ -1660,7 +1738,11 @@ bool8 sub_8103520(u8 *a0) return FALSE; } -extern void (*gUnknown_083ECB88[])(void); +void (*const gUnknown_083ECB88[])(void) = { + sub_8103564, + j5_08111E84, + sub_8103668 +}; void sub_8103540(void) { @@ -1942,7 +2024,11 @@ bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) return TRUE; } -extern void (*const gUnknown_083ECB94[])(void); +void (*const gUnknown_083ECB94[])(void) = { + sub_8103830, + sub_8103910, + sub_8103A78 +}; void sub_810380C(void) { @@ -2096,14 +2182,18 @@ static void sub_8103C14(u8 a0) sub_8103C48(taskId); } -extern void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId); +void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId) = { + sub_8103C78, + sub_8103CAC, + sub_8103CC8 +}; static void sub_8103C48(u8 taskId) { gUnknown_083ECBA0[gTasks[taskId].data[0]](gTasks + taskId, taskId); } -extern const s16 gUnknown_083ECBAC[]; +const s16 gUnknown_083ECBAC[] = {5, 10, 15}; void sub_8103C78(struct Task *task, u8 taskId) { @@ -2306,7 +2396,12 @@ bool8 sub_81040C8(void) return gTasks[eSlotMachine->unk3E].data[15]; } -extern void (*const gUnknown_083ECBB4[])(struct Task *task); +void (*const gUnknown_083ECBB4[])(struct Task *task) = { + nullsub_68, + sub_810411C, + sub_8104144, + sub_81041AC +}; static void sub_81040E8(u8 taskId) { @@ -2324,7 +2419,11 @@ void sub_810411C(struct Task *task) task->data[0]++; } -extern const u16 gUnknown_083ECBC4[][2]; +const u16 gUnknown_083ECBC4[][2] = { + {0x9e, 0x6e}, + {0x9f, 0x6f}, + {0xaf, 0x7f} +}; void sub_8104144(struct Task *task) { @@ -2415,7 +2514,27 @@ static bool8 sub_810432C(void) return FALSE; } -extern void (*const gUnknown_083ECBD0[])(struct Task *task); +void (*const gUnknown_083ECBD0[])(struct Task *task) = { + sub_810437C, + sub_81043EC, + sub_8104468, + sub_8104498, + sub_8104548, + sub_8104598, + sub_81045CC, + sub_810463C, + sub_81046C0, + sub_8104764, + sub_8104794, + sub_81047EC, + sub_8104860, + sub_81048A8, + sub_81048CC, + sub_8104940, + sub_81049C8, + sub_8104794, + sub_81049F8 +}; void sub_810434C(u8 taskId) { @@ -2446,6 +2565,59 @@ void sub_810437C(struct Task *task) PlayNewMapMusic(BGM_BD_TIME); } +void sub_81043EC(struct Task *task) +{ + s16 r3; + gSpriteCoordOffsetX -= 8; + task->data[1] += 8; + r3 = ((task->data[1] + 240) & 0xff) >> 3; + REG_BG1HOFS = task->data[1] & 0x1ff; + if (r3 != task->data[2] && task->data[3] <= 18) + { + task->data[2] = r3; + task->data[3] = task->data[1] >> 3; + sub_8104A40(r3, task->data[3]); + } + if (task->data[1] >= 200) + { + task->data[0]++; + task->data[3] = 0; + } + sub_8102D28(task->data[4] >> 8); +} + +void sub_8104468(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + if (++task->data[5] >= 60) + { + task->data[0]++; + sub_8105578(); + sub_81056F0(); + } +} + +void sub_8104498(struct Task *task) +{ + int r5; + u8 sp0[] = {1, 1, 2, 2}; + s16 sp4[] = {0x40, 0x30, 0x18, 0x08}; + s16 spC[] = {10, 8, 6, 4}; + + sub_8102D28(task->data[4] >> 8); + task->data[4] -= 4; + r5 = 4 - (task->data[4] >> 8); + sub_8105688(sp4[r5]); + sub_81057E8(spC[r5]); + StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, sp0[r5]); + if (task->data[4] <= 0x100) + { + task->data[0]++; + task->data[4] = 0x100; + task->data[5] = 0; + } +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From ee7ecf3d11732236bc43ae15757056f03e356a05 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 13:58:29 -0500 Subject: through sub_81045CC --- asm/slot_machine.s | 131 ----------------------------------------------- src/field/slot_machine.c | 49 ++++++++++++++++++ 2 files changed, 49 insertions(+), 131 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index e3adefac1..6f5aa38a7 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,137 +5,6 @@ .text - thumb_func_start sub_8104548 -sub_8104548: @ 8104548 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _0810458A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0x12] - movs r0, 0x2 - bl sub_81057E8 - ldr r0, _08104590 @ =gSharedMem - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08104594 @ =gSprites - adds r0, r1 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent -_0810458A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104590: .4byte gSharedMem -_08104594: .4byte gSprites - thumb_func_end sub_8104548 - - thumb_func_start sub_8104598 -sub_8104598: @ 8104598 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - ldrb r0, [r4, 0x10] - adds r0, 0x80 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _081045C4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0x12] -_081045C4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8104598 - - thumb_func_start sub_81045CC -sub_81045CC: @ 81045CC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - ldrb r0, [r4, 0x10] - adds r0, 0x40 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _08104634 - movs r0, 0 - strh r0, [r4, 0x12] - ldr r1, _0810460C @ =gSharedMem - ldrb r0, [r1, 0x5] - cmp r0, 0 - beq _08104610 - ldrb r1, [r1, 0xA] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _0810462E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - b _0810462C - .align 2, 0 -_0810460C: .4byte gSharedMem -_08104610: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _0810461E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - b _0810462C -_0810461E: - ldrh r0, [r4, 0x14] - bl sub_81026DC - lsls r0, 24 - cmp r0, 0 - beq _0810462E - movs r0, 0xE -_0810462C: - strh r0, [r4, 0x8] -_0810462E: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] -_08104634: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81045CC - thumb_func_start sub_810463C sub_810463C: @ 810463C push {r4-r6,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 8bfb30bfa..50a6fbd6e 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -2618,6 +2618,55 @@ void sub_8104498(struct Task *task) } } +void sub_8104548(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + if (++task->data[5] >= 80) + { + task->data[0]++; + task->data[5] = 0; + sub_81057E8(2); + StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 3); + } +} + +void sub_8104598(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + task->data[4] = (u8)task->data[4] + 0x80; + if (++task->data[5] >= 80) + { + task->data[0]++; + task->data[5] = 0; + } +} + +void sub_81045CC(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + task->data[4] = (u8)task->data[4] + 0x40; + if (++task->data[5] >= 40) + { + task->data[5] = 0; + if (eSlotMachine->unk05) + { + if (eSlotMachine->unk0A <= task->data[6]) + { + task->data[0]++; + } + } + else if (task->data[6] > 3) + { + task->data[0]++; + } + else if (sub_81026DC(task->data[6])) + { + task->data[0] = 14; + } + task->data[6]++; + } +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From b628d68bae049d3798142acbf4182b121e51a232 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 16:09:07 -0500 Subject: through sub_81049F8 --- asm/slot_machine.s | 505 ----------------------------------------------- include/slot_machine.h | 6 +- src/field/slot_machine.c | 195 ++++++++++++++++++ 3 files changed, 199 insertions(+), 507 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 6f5aa38a7..82494dc98 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,511 +5,6 @@ .text - thumb_func_start sub_810463C -sub_810463C: @ 810463C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _08104660 @ =gSharedMem - movs r1, 0x14 - ldrsh r0, [r6, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r0, 0 - beq _08104664 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D5C - b _08104688 - .align 2, 0 -_08104660: .4byte gSharedMem -_08104664: - movs r0, 0x1 - bl sub_8102C48 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6, 0x5] - cmp r0, r1 - beq _08104692 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_8102D28 - movs r1, 0x14 - ldrsh r0, [r6, r1] - movs r1, 0x14 - bl __modsi3 -_08104688: - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r0, [r4, 0x10] - adds r0, 0x40 - strh r0, [r4, 0x10] -_08104692: - lsls r0, r5, 16 - asrs r5, r0, 16 - cmp r5, 0 - bne _081046B4 - movs r0, 0x1 - bl sub_8102C48 - ldr r1, _081046BC @ =gSharedMem - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x5] - cmp r0, r1 - bne _081046B4 - strh r5, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081046B4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081046BC: .4byte gSharedMem - thumb_func_end sub_810463C - - thumb_func_start sub_81046C0 -sub_81046C0: @ 81046C0 - push {r4-r7,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - movs r7, 0 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _08104758 - bl StopMapMusic - bl sub_81056C0 - bl sub_8105804 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r5, _08104710 @ =gSharedMem - ldrb r0, [r5, 0x5] - cmp r0, 0 - bne _0810471C - movs r0, 0xA0 - strh r0, [r4, 0x10] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08104714 @ =gSprites - adds r0, r1 - movs r1, 0x5 - bl StartSpriteAnimIfDifferent - ldr r0, _08104718 @ =0x00000187 - bl PlayFanfare - b _08104758 - .align 2, 0 -_08104710: .4byte gSharedMem -_08104714: .4byte gSprites -_08104718: .4byte 0x00000187 -_0810471C: - movs r0, 0xC0 - strh r0, [r4, 0x10] - adds r6, r5, 0 - adds r6, 0x3F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08104760 @ =gSprites - adds r0, r4 - movs r1, 0x4 - bl StartSpriteAnimIfDifferent - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2B - strb r7, [r0] - ldrb r0, [r5, 0x2] - cmp r0, 0 - beq _08104750 - bl sub_8104098 - strb r7, [r5, 0x2] -_08104750: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare -_08104758: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08104760: .4byte gSprites - thumb_func_end sub_81046C0 - - thumb_func_start sub_8104764 -sub_8104764: @ 8104764 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0810477C - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _0810478C -_0810477C: - bl sub_81040C8 - lsls r0, 24 - cmp r0, 0 - bne _0810478C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0810478C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8104764 - - thumb_func_start sub_8104794 -sub_8104794: @ 8104794 - push {r4,lr} - adds r3, r0, 0 - ldr r1, _081047D4 @ =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x8 - strh r0, [r1] - ldrh r2, [r3, 0xA] - adds r2, 0x8 - strh r2, [r3, 0xA] - ldrh r0, [r3, 0xE] - adds r0, 0x8 - strh r0, [r3, 0xE] - movs r1, 0xA - ldrsh r0, [r3, r1] - subs r0, 0x8 - movs r1, 0xFF - ands r0, r1 - lsrs r4, r0, 3 - ldr r1, _081047D8 @ =REG_BG1HOFS - ldr r0, _081047DC @ =0x000001ff - ands r2, r0 - strh r2, [r1] - ldrh r0, [r3, 0xE] - lsls r0, 16 - asrs r0, 19 - cmp r0, 0x19 - bgt _081047E0 - adds r0, r4, 0 - bl sub_8104A88 - b _081047E6 - .align 2, 0 -_081047D4: .4byte gSpriteCoordOffsetX -_081047D8: .4byte REG_BG1HOFS -_081047DC: .4byte 0x000001ff -_081047E0: - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_081047E6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8104794 - - thumb_func_start sub_81047EC -sub_81047EC: @ 81047EC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _08104834 @ =gSharedMem - movs r6, 0 - strb r6, [r4, 0xB] - ldrb r0, [r4, 0x5] - strb r0, [r4, 0xA] - ldr r0, _08104838 @ =gSpriteCoordOffsetX - strh r6, [r0] - ldr r0, _0810483C @ =REG_BG1HOFS - strh r6, [r0] - movs r0, 0x8 - strh r0, [r4, 0x1A] - bl sub_810514C - bl sub_81054B8 - bl sub_8105524 - adds r0, r4, 0 - adds r0, 0x60 - ldrh r0, [r0] - bl PlayNewMapMusic - ldrb r0, [r4, 0xA] - cmp r0, 0 - bne _08104844 - ldr r0, _08104840 @ =sub_810434C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _0810485A - .align 2, 0 -_08104834: .4byte gSharedMem -_08104838: .4byte gSpriteCoordOffsetX -_0810483C: .4byte REG_BG1HOFS -_08104840: .4byte sub_810434C -_08104844: - movs r0, 0x4 - bl sub_8104CAC - bl dp15_jump_random_unknown - strh r0, [r5, 0xA] - strh r6, [r5, 0xC] - strh r6, [r5, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0810485A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81047EC - - thumb_func_start sub_8104860 -sub_8104860: @ 8104860 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _0810487C @ =gSharedMem - ldrh r0, [r5, 0x1A] - lsls r6, r0, 16 - asrs r1, r6, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08104880 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081048A2 - .align 2, 0 -_0810487C: .4byte gSharedMem -_08104880: - movs r1, 0x1C - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _081048A2 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _081048A2 - asrs r0, r6, 17 - strh r0, [r5, 0x1A] -_081048A2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8104860 - - thumb_func_start sub_81048A8 -sub_81048A8: @ 81048A8 - push {lr} - bl sub_8104E18 - lsls r0, 24 - cmp r0, 0 - beq _081048C2 - ldr r0, _081048C8 @ =sub_810434C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081048C2: - pop {r0} - bx r0 - .align 2, 0 -_081048C8: .4byte sub_810434C - thumb_func_end sub_81048A8 - - thumb_func_start sub_81048CC -sub_81048CC: @ 81048CC - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81054B8 - bl sub_81056C0 - bl sub_8105804 - bl sub_8105854 - ldr r5, _08104934 @ =gSprites - ldr r3, _08104938 @ =gSharedMem - adds r0, r3, 0 - adds r0, 0x4E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r3, 0x3F - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x5 - bl StartSpriteAnimIfDifferent - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - movs r0, 0x4 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - bl StopMapMusic - ldr r0, _0810493C @ =0x00000187 - bl PlayFanfare - movs r0, 0xB2 - bl PlaySE - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08104934: .4byte gSprites -_08104938: .4byte gSharedMem -_0810493C: .4byte 0x00000187 - thumb_func_end sub_81048CC - - thumb_func_start sub_8104940 -sub_8104940: @ 8104940 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _081049B8 @ =gSpriteCoordOffsetY - ldrh r1, [r4, 0x10] - strh r1, [r0] - ldr r0, _081049BC @ =REG_BG1VOFS - strh r1, [r0] - ldrh r1, [r4, 0x12] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810495E - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] -_0810495E: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - movs r1, 0x1F - ands r0, r1 - cmp r0, 0 - bne _08104974 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 17 - strh r0, [r4, 0x10] -_08104974: - movs r0, 0x10 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081049B0 - bl sub_81058A0 - bl sub_81058C4 - bl sub_8105284 - bl sub_81059E8 - ldr r2, _081049C0 @ =gSprites - ldr r0, _081049C4 @ =gSharedMem - adds r0, 0x4E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0x12] -_081049B0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081049B8: .4byte gSpriteCoordOffsetY -_081049BC: .4byte REG_BG1VOFS -_081049C0: .4byte gSprites -_081049C4: .4byte gSharedMem - thumb_func_end sub_8104940 - - thumb_func_start sub_81049C8 -sub_81049C8: @ 81049C8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _081049F0 @ =gSpriteCoordOffsetY - movs r1, 0 - strh r1, [r0] - ldr r0, _081049F4 @ =REG_BG1VOFS - strh r1, [r0] - bl sub_8105ACC - lsls r0, 24 - cmp r0, 0 - beq _081049EA - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_8105AEC -_081049EA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081049F0: .4byte gSpriteCoordOffsetY -_081049F4: .4byte REG_BG1VOFS - thumb_func_end sub_81049C8 - - thumb_func_start sub_81049F8 -sub_81049F8: @ 81049F8 - push {lr} - ldr r0, _08104A30 @ =gSpriteCoordOffsetX - movs r1, 0 - strh r1, [r0] - ldr r0, _08104A34 @ =REG_BG1HOFS - strh r1, [r0] - ldr r0, _08104A38 @ =gSharedMem - adds r0, 0x60 - ldrh r0, [r0] - bl PlayNewMapMusic - bl sub_810514C - bl sub_8105554 - bl sub_8105524 - bl sub_81059B8 - ldr r0, _08104A3C @ =sub_810434C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .align 2, 0 -_08104A30: .4byte gSpriteCoordOffsetX -_08104A34: .4byte REG_BG1HOFS -_08104A38: .4byte gSharedMem -_08104A3C: .4byte sub_810434C - thumb_func_end sub_81049F8 - thumb_func_start sub_8104A40 sub_8104A40: @ 8104A40 push {r4-r7,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index a7a1fed44..004538b14 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -20,7 +20,7 @@ struct SlotMachineEwramStruct { /*0x14*/ s16 unk14; /*0x16*/ s16 unk16; /*0x18*/ s16 unk18; - /*0x1A*/ u16 unk1A; + /*0x1A*/ s16 unk1A; /*0x1C*/ s16 unk1C[3]; /*0x22*/ u16 unk22[3]; /*0x28*/ s16 unk28[3]; @@ -32,7 +32,9 @@ struct SlotMachineEwramStruct { /*0x3F*/ u8 unk3F; /*0x40*/ u8 filler40[4]; /*0x44*/ u8 unk44[5]; - /*0x49*/ u8 filler49[15]; + /*0x49*/ u8 filler49[5]; + /*0x4E*/ u8 unk4E; + /*0x4F*/ u8 filler4F[9]; /*0x58*/ u16 win0h; /*0x5a*/ u16 win0v; /*0x5c*/ u16 winIn; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 50a6fbd6e..b57f0cfaf 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -169,6 +169,7 @@ void sub_8104940(struct Task *task); void sub_81049C8(struct Task *task); void sub_81049F8(struct Task *task); void sub_8104A40(s16 a0, s16 a1); +void sub_8104A88(s16 a0); void sub_8104AB8(u8 a0); bool8 sub_8104AEC(void); void sub_8104C5C(void); @@ -178,14 +179,28 @@ void sub_8104EA8(void); void sub_8104F8C(void); void sub_81050C4(void); void sub_8105100(void); +void sub_810514C(void); void sub_81051C0(void); +void sub_8105284(void); void sub_81052EC(void); void sub_81053A0(void); void sub_810545C(void); +void sub_81054B8(void); +void sub_8105524(void); +void sub_8105554(void); void sub_8105578(void); void sub_8105688(s16 a0); +void sub_81056C0(void); void sub_81056F0(void); void sub_81057E8(s16 a0); +void sub_8105804(void); +void sub_8105854(void); +void sub_81058A0(void); +void sub_81058C4(void); +void sub_81059B8(void); +void sub_81059E8(void); +bool8 sub_8105ACC(void); +void sub_8105AEC(void); u8 sub_8105B1C(s16 a0, s16 a1); void sub_8105B88(u8 a0); void sub_81063C0(void); @@ -2667,6 +2682,186 @@ void sub_81045CC(struct Task *task) } } +void sub_810463C(struct Task *task) +{ + s16 r5 = eSlotMachine->unk14 % 20; + if (r5) + { + r5 = sub_8102D5C(task->data[4] >> 8); + task->data[4] = (u8)task->data[4] + 0x40; + } + else if (sub_8102C48(1) != eSlotMachine->unk05) + { + sub_8102D28(task->data[4] >> 8); + r5 = eSlotMachine->unk14 % 20; + task->data[4] = (u8)task->data[4] + 0x40; + } + if (r5 == 0 && sub_8102C48(1) == eSlotMachine->unk05) + { + task->data[4] = 0; + task->data[0]++; + } +} + +void sub_81046C0(struct Task *task) +{ + if (++task->data[4] >= 60) + { + StopMapMusic(); + sub_81056C0(); + sub_8105804(); + task->data[0]++; + if(eSlotMachine->unk05 == 0) + { + task->data[4] = 0xa0; + StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 5); + PlayFanfare(BGM_ME_ZANNEN); + } + else + { + task->data[4] = 0xc0; + StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 4); + gSprites[eSlotMachine->unk3F].animCmdIndex = 0; + if (eSlotMachine->unk02) + { + sub_8104098(); + eSlotMachine->unk02 = 0; + } + PlayFanfare(BGM_ME_B_SMALL); + } + } +} + +void sub_8104764(struct Task *task) +{ + if ((task->data[4] == 0 || --task->data[4] == 0) && !sub_81040C8()) + { + task->data[0]++; + } +} + +void sub_8104794(struct Task *task) +{ + s16 r4; + gSpriteCoordOffsetX -= 8; + task->data[1] += 8; + task->data[3] += 8; + 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]++; + } +} + +void sub_81047EC(struct Task *task) +{ + eSlotMachine->unk0B = 0; + eSlotMachine->unk0A = eSlotMachine->unk05; + gSpriteCoordOffsetX = 0; + REG_BG1HOFS = 0; + eSlotMachine->unk1A = 8; + sub_810514C(); + sub_81054B8(); + sub_8105524(); + PlayNewMapMusic(eSlotMachine->backupMapMusic); + if (eSlotMachine->unk0A == 0) + { + DestroyTask(FindTaskIdByFunc(sub_810434C)); + } + else + { + sub_8104CAC(4); + task->data[1] = dp15_jump_random_unknown(); + task->data[2] = 0; + task->data[3] = 0; + task->data[0]++; + } +} + +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; + } +} + +void sub_81048A8(struct Task *task) +{ + if (sub_8104E18()) + { + DestroyTask(FindTaskIdByFunc(sub_810434C)); + } +} + +void sub_81048CC(struct Task *task) +{ + sub_81054B8(); + sub_81056C0(); + sub_8105804(); + sub_8105854(); + gSprites[eSlotMachine->unk4E].invisible = TRUE; + StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 5); + task->data[0]++; + task->data[4] = 4; + task->data[5] = 0; + StopMapMusic(); + PlayFanfare(BGM_ME_ZANNEN); + PlaySE(SE_W153); +} + +void sub_8104940(struct Task *task) +{ + gSpriteCoordOffsetY = task->data[4]; + REG_BG1VOFS = task->data[4]; + if (task->data[5] & 0x01) + task->data[4] = -task->data[4]; + if ((++task->data[5] & 0x1f) == 0) + task->data[4] >>= 1; + if (task->data[4] == 0) + { + sub_81058A0(); + sub_81058C4(); + sub_8105284(); + sub_81059E8(); + gSprites[eSlotMachine->unk4E].invisible = FALSE; + task->data[0]++; + task->data[5] = 0; + } +} + +void sub_81049C8(struct Task *task) +{ + gSpriteCoordOffsetY = 0; + REG_BG1VOFS = 0; + if (sub_8105ACC()) + { + task->data[0]++; + sub_8105AEC(); + } +} + +void sub_81049F8(struct Task *task) +{ + gSpriteCoordOffsetX = 0; + REG_BG1HOFS = 0; + PlayNewMapMusic(eSlotMachine->backupMapMusic); + sub_810514C(); + sub_8105554(); + sub_8105524(); + sub_81059B8(); + DestroyTask(FindTaskIdByFunc(sub_810434C)); +} + asm(".section .text_a"); static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 1989ffb9a856ebebde994b5af53860436c6606a0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 17:11:00 -0500 Subject: through sub_8104C5C --- asm/slot_machine.s | 334 ----------------------------------------------- data/slot_machine.s | 12 -- ld_script.txt | 2 - src/field/slot_machine.c | 126 +++++++++++++++++- 4 files changed, 125 insertions(+), 349 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 82494dc98..0e18f4380 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,340 +5,6 @@ .text - thumb_func_start sub_8104A40 -sub_8104A40: @ 8104A40 - push {r4-r7,lr} - movs r3, 0x4 - ldr r7, _08104A80 @ =gReelTimeWindowTilemap - lsls r1, 16 - asrs r5, r1, 16 - lsls r0, 16 - asrs r4, r0, 16 - ldr r6, _08104A84 @ =0x0600e000 -_08104A50: - lsls r2, r3, 16 - asrs r2, 16 - subs r1, r2, 0x4 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5, r0 - lsls r0, 1 - adds r0, r7 - ldrh r1, [r0] - lsls r0, r2, 5 - adds r0, r4 - lsls r0, 1 - adds r0, r6 - strh r1, [r0] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - asrs r2, 16 - cmp r2, 0xE - ble _08104A50 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08104A80: .4byte gReelTimeWindowTilemap -_08104A84: .4byte 0x0600e000 - thumb_func_end sub_8104A40 - - thumb_func_start sub_8104A88 -sub_8104A88: @ 8104A88 - push {r4,r5,lr} - movs r2, 0x4 - lsls r0, 16 - asrs r3, r0, 16 - ldr r5, _08104AB4 @ =0x0600e000 - movs r4, 0 -_08104A94: - lsls r1, r2, 16 - asrs r1, 16 - lsls r0, r1, 5 - adds r0, r3 - lsls r0, 1 - adds r0, r5 - strh r4, [r0] - adds r1, 0x1 - lsls r1, 16 - lsrs r2, r1, 16 - asrs r1, 16 - cmp r1, 0xE - ble _08104A94 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08104AB4: .4byte 0x0600e000 - thumb_func_end sub_8104A88 - - thumb_func_start sub_8104AB8 -sub_8104AB8: @ 8104AB8 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08104AE4 @ =sub_8104B0C - adds r0, r5, 0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08104AE8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08104AE4: .4byte sub_8104B0C -_08104AE8: .4byte gTasks - thumb_func_end sub_8104AB8 - - thumb_func_start sub_8104AEC -sub_8104AEC: @ 8104AEC - push {lr} - ldr r0, _08104B00 @ =sub_8104B0C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08104B04 - movs r0, 0 - b _08104B06 - .align 2, 0 -_08104B00: .4byte sub_8104B0C -_08104B04: - movs r0, 0x1 -_08104B06: - pop {r1} - bx r1 - thumb_func_end sub_8104AEC - - thumb_func_start sub_8104B0C -sub_8104B0C: @ 8104B0C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08104B34 @ =gUnknown_083ECC30 - ldr r2, _08104B38 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08104B34: .4byte gUnknown_083ECC30 -_08104B38: .4byte gTasks - thumb_func_end sub_8104B0C - - thumb_func_start sub_8104B3C -sub_8104B3C: @ 8104B3C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8104B3C - - thumb_func_start sub_8104B60 -sub_8104B60: @ 8104B60 - push {lr} - adds r2, r0, 0 - ldr r0, _08104B7C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08104B76 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08104B76: - pop {r0} - bx r0 - .align 2, 0 -_08104B7C: .4byte gPaletteFade - thumb_func_end sub_8104B60 - - thumb_func_start sub_8104B80 -sub_8104B80: @ 8104B80 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_8104DA4 - bl sub_81065DC - ldr r0, _08104BC0 @ =gWindowConfig_81E7144 - bl BasicInitMenuWindow - ldr r0, _08104BC4 @ =gOtherText_ReelTime - movs r1, 0xA - movs r2, 0x20 - movs r3, 0x1 - bl MenuPrint_PixelCoords - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104BC0: .4byte gWindowConfig_81E7144 -_08104BC4: .4byte gOtherText_ReelTime - thumb_func_end sub_8104B80 - - thumb_func_start sub_8104BC8 -sub_8104BC8: @ 8104BC8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, _08104BF8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _08104BF0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08104BF0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104BF8: .4byte gMain - thumb_func_end sub_8104BC8 - - thumb_func_start sub_8104BFC -sub_8104BFC: @ 8104BFC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl MenuZeroFillScreen - ldr r0, _08104C3C @ =gWindowConfig_81E7128 - bl BasicInitMenuWindow - bl sub_81064B8 - ldrb r0, [r4, 0xA] - bl sub_8104CAC - ldr r0, _08104C40 @ =gSharedMem - ldrb r0, [r0, 0x2] - bl sub_810423C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08104C3C: .4byte gWindowConfig_81E7128 -_08104C40: .4byte gSharedMem - thumb_func_end sub_8104BFC - - thumb_func_start sub_8104C44 -sub_8104C44: @ 8104C44 - push {lr} - ldr r0, _08104C58 @ =sub_8104B0C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .align 2, 0 -_08104C58: .4byte sub_8104B0C - thumb_func_end sub_8104C44 - - thumb_func_start sub_8104C5C -sub_8104C5C: @ 8104C5C - push {lr} - ldr r0, _08104C9C @ =sub_8104E74 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08104CA0 @ =gSharedMem - adds r0, 0x3D - strb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08104CA4 @ =gTasks - adds r0, r1 - ldr r1, _08104CA8 @ =0x0000ffff - strh r1, [r0, 0xA] - movs r1, 0x4 - adds r2, r0, 0 - adds r2, 0x8 - movs r3, 0x40 -_08104C86: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _08104C86 - pop {r0} - bx r0 - .align 2, 0 -_08104C9C: .4byte sub_8104E74 -_08104CA0: .4byte gSharedMem -_08104CA4: .4byte gTasks -_08104CA8: .4byte 0x0000ffff - thumb_func_end sub_8104C5C - -.section .text_8104D30 - thumb_func_start sub_8104D30 sub_8104D30: @ 8104D30 push {r4-r7,lr} diff --git a/data/slot_machine.s b/data/slot_machine.s index 91b3b0ebf..9b9ba021e 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,18 +3,6 @@ .section .rodata - .align 2 -gUnknown_083ECC30:: @ 83ECC30 - .4byte sub_8104B3C - .4byte sub_8104B60 - .4byte sub_8104B80 - .4byte sub_8104B60 - .4byte sub_8104BC8 - .4byte sub_8104B60 - .4byte sub_8104BFC - .4byte sub_8104B60 - .4byte sub_8104C44 - gUnknown_083ECC54:: @ 83ECC54 .4byte nullsub_69 diff --git a/ld_script.txt b/ld_script.txt index 9b2100529..86728ae95 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -321,8 +321,6 @@ SECTIONS { src/field/decoration.o(.text); src/field/slot_machine.o(.text); asm/slot_machine.o(.text); - src/field/slot_machine.o(.text_a); - asm/slot_machine.o(.text_8104D30) src/field/slot_machine.o(.text_b); src/scene/contest_painting.o(.text); src/battle/battle_ai.o(.text); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index b57f0cfaf..4076d7770 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -172,9 +172,17 @@ void sub_8104A40(s16 a0, s16 a1); void sub_8104A88(s16 a0); void sub_8104AB8(u8 a0); bool8 sub_8104AEC(void); +void sub_8104B0C(u8 taskId); +void sub_8104B3C(struct Task *task); +void sub_8104B60(struct Task *task); +void sub_8104B80(struct Task *task); +void sub_8104BC8(struct Task *task); +void sub_8104BFC(struct Task *task); +void sub_8104C44(struct Task *task); void sub_8104C5C(void); void sub_8104CAC(u8 arg0); bool8 sub_8104E18(void); +void sub_8104E74(u8 taskId); void sub_8104EA8(void); void sub_8104F8C(void); void sub_81050C4(void); @@ -207,6 +215,7 @@ void sub_81063C0(void); static void sub_8106448(void); void sub_81064B8(void); void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); +void sub_81065DC(void); extern struct UnkStruct1 *gUnknown_083ED048[]; extern const u16 gPalette_83EDE24[]; @@ -2862,7 +2871,122 @@ void sub_81049F8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_810434C)); } -asm(".section .text_a"); +extern const u16 gReelTimeWindowTilemap[]; + +void sub_8104A40(s16 a0, s16 a1) +{ + s16 i; + + for (i = 4; i < 15; i++) + { + u16 tile = gReelTimeWindowTilemap[a1 + (i - 4) * 20]; + ((u16 *)BG_SCREEN_ADDR(28))[32 * i + a0] = tile; + } +} + +void sub_8104A88(s16 a0) +{ + s16 i; + + for (i = 4; i < 15; i++) + { + ((u16 *)BG_SCREEN_ADDR(28))[32 * i + a0] = 0; + } +} + +void sub_8104AB8(u8 a0) +{ + u8 taskId = CreateTask(sub_8104B0C, 1); + gTasks[taskId].data[1] = a0; + sub_8104B0C(taskId); +} + +bool8 sub_8104AEC(void) +{ + if (FindTaskIdByFunc(sub_8104B0C) == 0xFF) + return TRUE; + return FALSE; +} + +void (*const gUnknown_083ECC30[])(struct Task *task) = { + sub_8104B3C, + sub_8104B60, + sub_8104B80, + sub_8104B60, + sub_8104BC8, + sub_8104B60, + sub_8104BFC, + sub_8104B60, + sub_8104C44 +}; + +void sub_8104B0C(u8 taskId) +{ + gUnknown_083ECC30[gTasks[taskId].data[0]](gTasks + taskId); +} + +void sub_8104B3C(struct Task *task) +{ + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + task->data[0]++; +} + +void sub_8104B60(struct Task *task) +{ + if (!gPaletteFade.active) + { + task->data[0]++; + } +} + +void sub_8104B80(struct Task *task) +{ + sub_8104DA4(); + sub_81065DC(); + BasicInitMenuWindow(&gWindowConfig_81E7144); + MenuPrint_PixelCoords(gOtherText_ReelTime, 10, 32, 1); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + task->data[0]++; +} + +void sub_8104BC8(struct Task *task) +{ + if (gMain.newKeys & (B_BUTTON | SELECT_BUTTON)) + { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + task->data[0]++; + } +} + +void sub_8104BFC(struct Task *task) +{ + MenuZeroFillScreen(); + BasicInitMenuWindow(&gWindowConfig_81E7128); + sub_81064B8(); + sub_8104CAC(task->data[1]); + sub_810423C(eSlotMachine->unk02); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + task->data[0]++; +} + +void sub_8104C44(struct Task *task) +{ + DestroyTask(FindTaskIdByFunc(sub_8104B0C)); +} + +void sub_8104C5C(void) +{ + u8 i; + struct Task *task; + i = CreateTask(sub_8104E74, 3); + eSlotMachine->unk3D = i; + task = gTasks + i; + task->data[1] = -1; + for (i = 4; i < 16; i++) + { + task->data[i] = 0x40; + } +} static void LoadSlotMachineWheelOverlay(void); -- cgit v1.2.3 From 7f6d7c107b2986a4631218b482db216cfca91733 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 20:18:52 -0500 Subject: through sub_8104F8C --- asm/slot_machine.s | 369 ----------------------------------------------- data/slot_machine.s | 3 - src/field/slot_machine.c | 110 +++++++++++++- 3 files changed, 109 insertions(+), 373 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 0e18f4380..6a5d36d95 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,375 +5,6 @@ .text - thumb_func_start sub_8104D30 -sub_8104D30: @ 8104D30 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r1 - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08104D84 @ =gSharedMem - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08104D88 @ =gTasks - adds r0, r1 - mov r12, r0 - movs r5, 0x4 - lsls r4, 16 - asrs r6, r4, 16 - lsls r2, 16 - lsls r3, 16 -_08104D5C: - lsls r0, r5, 1 - mov r1, r12 - adds r1, 0x8 - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _08104D8C - str r6, [sp] - adds r0, r7, 0 - mov r1, r8 - asrs r2, 16 - asrs r3, 16 - bl sub_8105BF8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - b _08104D96 - .align 2, 0 -_08104D84: .4byte gSharedMem -_08104D88: .4byte gTasks -_08104D8C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08104D5C -_08104D96: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8104D30 - - thumb_func_start sub_8104DA4 -sub_8104DA4: @ 8104DA4 - push {r4-r6,lr} - ldr r0, _08104E04 @ =gSharedMem - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08104E08 @ =gTasks - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - ldr r0, _08104E0C @ =0x0000ffff - cmp r1, r0 - beq _08104DCE - ldr r0, _08104E10 @ =gUnknown_083ED064 - movs r2, 0xA - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_08104DCE: - movs r5, 0x4 - adds r6, r4, 0 - adds r6, 0x8 -_08104DD4: - lsls r0, r5, 1 - adds r4, r6, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _08104DF4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08104E14 @ =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0x40 - strh r0, [r4] -_08104DF4: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08104DD4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08104E04: .4byte gSharedMem -_08104E08: .4byte gTasks -_08104E0C: .4byte 0x0000ffff -_08104E10: .4byte gUnknown_083ED064 -_08104E14: .4byte gSprites - thumb_func_end sub_8104DA4 - - thumb_func_start sub_8104E18 -sub_8104E18: @ 8104E18 - push {r4,r5,lr} - ldr r0, _08104E54 @ =gSharedMem - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08104E58 @ =gTasks - adds r0, r1 - movs r2, 0x4 - adds r3, r0, 0 - adds r3, 0x8 - ldr r4, _08104E5C @ =gSprites -_08104E32: - lsls r0, r2, 1 - adds r1, r3, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0x40 - beq _08104E60 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r5, 0x3C - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _08104E60 - movs r0, 0 - b _08104E6C - .align 2, 0 -_08104E54: .4byte gSharedMem -_08104E58: .4byte gTasks -_08104E5C: .4byte gSprites -_08104E60: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08104E32 - movs r0, 0x1 -_08104E6C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8104E18 - - thumb_func_start sub_8104E74 -sub_8104E74: @ 8104E74 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08104E9C @ =gUnknown_083ECC54 - ldr r2, _08104EA0 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08104E9C: .4byte gUnknown_083ECC54 -_08104EA0: .4byte gTasks - thumb_func_end sub_8104E74 - - thumb_func_start nullsub_69 -nullsub_69: @ 8104EA4 - bx lr - thumb_func_end nullsub_69 - - thumb_func_start sub_8104EA8 -sub_8104EA8: @ 8104EA8 - push {r4-r7,lr} - movs r6, 0 - movs r0, 0x30 -_08104EAE: - movs r4, 0 - lsls r5, r0, 16 - lsls r7, r6, 16 -_08104EB4: - ldr r0, _08104F0C @ =gSpriteTemplate_83ED414 - asrs r1, r5, 16 - movs r2, 0 - movs r3, 0xE - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08104F10 @ =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - strh r6, [r1, 0x2E] - strh r4, [r1, 0x30] - ldr r0, _08104F14 @ =0x0000ffff - strh r0, [r1, 0x34] - lsls r0, r4, 16 - movs r1, 0xC0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x77 - ble _08104EB4 - movs r2, 0x80 - lsls r2, 9 - adds r1, r7, r2 - movs r2, 0xA0 - lsls r2, 14 - adds r0, r5, r2 - lsrs r0, 16 - lsrs r6, r1, 16 - asrs r1, 16 - cmp r1, 0x2 - ble _08104EAE - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08104F0C: .4byte gSpriteTemplate_83ED414 -_08104F10: .4byte gSprites -_08104F14: .4byte 0x0000ffff - thumb_func_end sub_8104EA8 - - thumb_func_start sub_8104F18 -sub_8104F18: @ 8104F18 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08104F88 @ =gSharedMem - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x1C - adds r1, r0 - ldrh r0, [r5, 0x30] - ldrh r1, [r1] - adds r0, r1 - strh r0, [r5, 0x32] - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r1, 0x78 - bl __modsi3 - strh r0, [r5, 0x32] - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r1, 1 - adds r4, 0x22 - adds r1, r4 - ldrh r1, [r1] - adds r1, 0x1C - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r4, [r5, 0x2E] - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_8102BA4 - lsls r0, 24 - lsrs r0, 24 - bl GetSpriteTileStartByTag - adds r1, r5, 0 - adds r1, 0x40 - strh r0, [r1] - adds r0, r5, 0 - bl SetSpriteSheetFrameTileNum - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08104F88: .4byte gSharedMem - thumb_func_end sub_8104F18 - - thumb_func_start sub_8104F8C -sub_8104F8C: @ 8104F8C - push {r4-r6,lr} - movs r4, 0xCB - movs r5, 0x1 - ldr r6, _08104FF0 @ =0x0000270f -_08104F94: - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - movs r1, 0x17 - movs r2, 0 - adds r3, r5, 0 - bl sub_8104FF4 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 17 - subs r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - ble _08104F94 - movs r4, 0xEB - movs r5, 0x1 - ldr r6, _08104FF0 @ =0x0000270f -_08104FC2: - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - movs r1, 0x17 - movs r2, 0x1 - adds r3, r5, 0 - bl sub_8104FF4 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 17 - subs r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - ble _08104FC2 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08104FF0: .4byte 0x0000270f - thumb_func_end sub_8104F8C - thumb_func_start sub_8104FF4 sub_8104FF4: @ 8104FF4 push {r4-r6,lr} diff --git a/data/slot_machine.s b/data/slot_machine.s index 9b9ba021e..d3af411ec 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,9 +3,6 @@ .section .rodata -gUnknown_083ECC54:: @ 83ECC54 - .4byte nullsub_69 - gUnknown_083ECC58:: @ 83ECC58 .byte 16, 0 diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 4076d7770..d6e078139 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -182,9 +182,11 @@ void sub_8104C44(struct Task *task); void sub_8104C5C(void); void sub_8104CAC(u8 arg0); bool8 sub_8104E18(void); +void nullsub_69(struct Task *task); void sub_8104E74(u8 taskId); void sub_8104EA8(void); void sub_8104F8C(void); +void sub_8104FF4(s16 a0, s16 a1, u8 a2, s16 a3); void sub_81050C4(void); void sub_8105100(void); void sub_810514C(void); @@ -211,6 +213,7 @@ bool8 sub_8105ACC(void); void sub_8105AEC(void); u8 sub_8105B1C(s16 a0, s16 a1); void sub_8105B88(u8 a0); +u8 sub_8105BF8(u8, u32, s16, s16, s16); void sub_81063C0(void); static void sub_8106448(void); void sub_81064B8(void); @@ -2984,7 +2987,7 @@ void sub_8104C5C(void) task->data[1] = -1; for (i = 4; i < 16; i++) { - task->data[i] = 0x40; + task->data[i] = MAX_SPRITES; } } @@ -3017,6 +3020,111 @@ void sub_8104CAC(u8 arg0) { #endif } } + +void sub_8104D30(u8 a0, u32 a1, s16 a2, s16 a3, s16 a4) +{ + u8 i; + struct Task *task = gTasks + eSlotMachine->unk3D; + for (i = 4; i < 16; i++) + { + if (task->data[i] == MAX_SPRITES) + { + task->data[i] = sub_8105BF8(a0, a1, a2, a3, a4); + break; + } + } +} + +extern void (*const gUnknown_083ED064[])(void); + +void sub_8104DA4(void) +{ + u8 i; + struct Task *task = gTasks + eSlotMachine->unk3D; + if ((u16)task->data[1] != 0xFFFF) + gUnknown_083ED064[task->data[1]](); + for (i = 4; i < 16; i++) + { + if (task->data[i] != MAX_SPRITES) + { + DestroySprite(gSprites + task->data[i]); + task->data[i] = MAX_SPRITES; + } + } +} + +bool8 sub_8104E18(void) +{ + u8 i; + struct Task *task = gTasks + eSlotMachine->unk3D; + for (i = 4; i < 16; i++) + { + if (task->data[i] != MAX_SPRITES) + { + if (gSprites[task->data[i]].data[7]) + return FALSE; + } + } + return TRUE; +} + +void (*const gUnknown_083ECC54[])(struct Task *task) = { + nullsub_69 +}; + +void sub_8104E74(u8 taskId) +{ + gUnknown_083ECC54[gTasks[taskId].data[0]](gTasks + taskId); +} + +void nullsub_69(struct Task *task) +{ + +} + +const struct SpriteTemplate gSpriteTemplate_83ED414; + +void sub_8104EA8(void) +{ + s16 i; + s16 j; + s16 x; + for (i = 0, x = 0x30; i < 3; i++, x += 0x28) + { + for (j = 0; j < 120; j += 24) + { + struct Sprite *sprite = gSprites + CreateSprite(&gSpriteTemplate_83ED414, x, 0, 14); + sprite->oam.priority = 3; + sprite->data[0] = i; + sprite->data[1] = j; + sprite->data[3] = -1; + } + } +} + +void sub_8104F18(struct Sprite *sprite) +{ + sprite->data[2] = eSlotMachine->unk1C[sprite->data[0]] + sprite->data[1]; + sprite->data[2] %= 120; + sprite->pos1.y = eSlotMachine->unk22[sprite->data[0]] + 28 + sprite->data[2]; + sprite->sheetTileStart = GetSpriteTileStartByTag(sub_8102BA4(sprite->data[0], sprite->data[2] / 24)); + SetSpriteSheetFrameTileNum(sprite); +} + +void sub_8104F8C(void) +{ + s16 i; + s16 r4; + for (r4 = 203, i = 1; i < 10000; i *= 10, r4 -= 7) + { + sub_8104FF4(r4, 23, 0, i); + } + for (r4 = 235, i = 1; i < 10000; i *= 10, r4 -= 7) + { + sub_8104FF4(r4, 23, 1, i); + } +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From 4137641bfecb300694d0045d3b694d4c6dca2aef Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 21:08:10 -0500 Subject: through sub_8105170 --- asm/slot_machine.s | 239 ----------------------------------------------- src/field/slot_machine.c | 78 ++++++++++++++-- 2 files changed, 72 insertions(+), 245 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 6a5d36d95..000acd198 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,245 +5,6 @@ .text - thumb_func_start sub_8104FF4 -sub_8104FF4: @ 8104FF4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - adds r4, r3, 0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08105060 @ =gSpriteTemplate_83ED42C - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0xD - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08105064 @ =gSprites - adds r2, r0 - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - mov r0, r8 - strh r0, [r2, 0x2E] - strh r4, [r2, 0x30] - lsls r4, 16 - asrs r4, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 1 - strh r0, [r2, 0x32] - ldr r0, _08105068 @ =0x0000ffff - strh r0, [r2, 0x34] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08105060: .4byte gSpriteTemplate_83ED42C -_08105064: .4byte gSprites -_08105068: .4byte 0x0000ffff - thumb_func_end sub_8104FF4 - - thumb_func_start sub_810506C -sub_810506C: @ 810506C - push {r4,lr} - adds r4, r0, 0 - ldr r1, _081050C0 @ =gSharedMem - ldrh r2, [r1, 0xC] - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0810507E - ldrh r2, [r1, 0xE] -_0810507E: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, r2 - beq _081050B8 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x32] - adds r0, r2, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r1, [r4, 0x30] - adds r0, r2, 0 - bl __udivsi3 - lsls r0, 16 - movs r3, 0xE0 - lsls r3, 11 - adds r0, r3 - lsrs r2, r0, 16 - adds r0, r2, 0 - bl GetSpriteTileStartByTag - adds r1, r4, 0 - adds r1, 0x40 - strh r0, [r1] - adds r0, r4, 0 - bl SetSpriteSheetFrameTileNum -_081050B8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081050C0: .4byte gSharedMem - thumb_func_end sub_810506C - - thumb_func_start sub_81050C4 -sub_81050C4: @ 81050C4 - push {lr} - ldr r0, _081050F4 @ =gSpriteTemplate_83ED444 - movs r1, 0x58 - movs r2, 0x48 - movs r3, 0xF - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _081050F8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, _081050FC @ =gSubspriteTables_83ED704 - bl SetSubspriteTables - pop {r0} - bx r0 - .align 2, 0 -_081050F4: .4byte gSpriteTemplate_83ED444 -_081050F8: .4byte gSprites -_081050FC: .4byte gSubspriteTables_83ED704 - thumb_func_end sub_81050C4 - - thumb_func_start sub_8105100 -sub_8105100: @ 8105100 - push {lr} - ldr r0, _08105140 @ =gSpriteTemplate_83ED45C - movs r1, 0x8C - lsls r1, 1 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08105144 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - ldr r1, _08105148 @ =gSharedMem - adds r1, 0x3F - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08105140: .4byte gSpriteTemplate_83ED45C -_08105144: .4byte gSprites -_08105148: .4byte gSharedMem - thumb_func_end sub_8105100 - - thumb_func_start sub_810514C -sub_810514C: @ 810514C - push {lr} - ldr r0, _08105168 @ =gSharedMem - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810516C @ =gSprites - adds r0, r1 - bl DestroySprite - pop {r0} - bx r0 - .align 2, 0 -_08105168: .4byte gSharedMem -_0810516C: .4byte gSprites - thumb_func_end sub_810514C - - thumb_func_start sub_8105170 -sub_8105170: @ 8105170 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x2A - ldrb r0, [r0] - cmp r0, 0x4 - bne _081051B6 - movs r0, 0x8 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - beq _081051A4 - adds r0, r2, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _081051B2 - b _081051B6 -_081051A4: - adds r0, r2, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _081051B6 -_081051B2: - ldr r0, _081051BC @ =0x0000fff8 - strh r0, [r2, 0x26] -_081051B6: - pop {r0} - bx r0 - .align 2, 0 -_081051BC: .4byte 0x0000fff8 - thumb_func_end sub_8105170 - thumb_func_start sub_81051C0 sub_81051C0: @ 81051C0 push {r4-r7,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index d6e078139..9246e9428 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -186,7 +186,7 @@ void nullsub_69(struct Task *task); void sub_8104E74(u8 taskId); void sub_8104EA8(void); void sub_8104F8C(void); -void sub_8104FF4(s16 a0, s16 a1, u8 a2, s16 a3); +void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); void sub_81050C4(void); void sub_8105100(void); void sub_810514C(void); @@ -3114,14 +3114,80 @@ void sub_8104F18(struct Sprite *sprite) void sub_8104F8C(void) { s16 i; - s16 r4; - for (r4 = 203, i = 1; i < 10000; i *= 10, r4 -= 7) + s16 x; + for (x = 203, i = 1; i < 10000; i *= 10, x -= 7) { - sub_8104FF4(r4, 23, 0, i); + sub_8104FF4(x, 23, 0, i); } - for (r4 = 235, i = 1; i < 10000; i *= 10, r4 -= 7) + for (x = 235, i = 1; i < 10000; i *= 10, x -= 7) { - sub_8104FF4(r4, 23, 1, i); + sub_8104FF4(x, 23, 1, i); + } +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED42C; + +void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) +{ + struct Sprite *sprite = gSprites + CreateSprite(&gSpriteTemplate_83ED42C, x, y, 13); + sprite->oam.priority = 2; + sprite->data[0] = a2; + sprite->data[1] = a3; + sprite->data[2] = a3 * 10; + sprite->data[3] = -1; +} + +void sub_810506C(struct Sprite *sprite) +{ + u16 tag = eSlotMachine->coins; + if (sprite->data[0]) + tag = eSlotMachine->unk0E; + if (sprite->data[3] != tag) + { + sprite->data[3] = tag; + tag %= (u16)sprite->data[2]; + tag /= (u16)sprite->data[1]; + tag += 7; + sprite->sheetTileStart = GetSpriteTileStartByTag(tag); + SetSpriteSheetFrameTileNum(sprite); + } +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED444; +extern const struct SubspriteTable gSubspriteTables_83ED704[]; + +void sub_81050C4(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED444, 0x58, 0x48, 15); + gSprites[spriteId].oam.priority = 3; + SetSubspriteTables(gSprites + spriteId, gSubspriteTables_83ED704); +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED45C; + +void sub_8105100(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED45C, 0x118, 0x50, 1); + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].coordOffsetEnabled = TRUE; + eSlotMachine->unk3F = spriteId; +} + +void sub_810514C(void) +{ + DestroySprite(gSprites + eSlotMachine->unk3F); +} + +void sub_8105170(struct Sprite *sprite) +{ + sprite->pos2.y = sprite->pos2.x = 0; + if (sprite->animNum == 4) + { + sprite->pos2.y = sprite->pos2.x = 8; + if ((sprite->animCmdIndex != 0 && sprite->animDelayCounter != 0) || (sprite->animCmdIndex == 0 && sprite->animDelayCounter == 0)) + { + sprite->pos2.y = -8; + } } } -- cgit v1.2.3 From 26d22691dc88b3c9e61fa3612c46d3b24167d0eb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 30 Dec 2017 23:20:35 -0500 Subject: through sub_810535C --- asm/slot_machine.s | 235 ----------------------------------------------- include/slot_machine.h | 8 +- src/field/slot_machine.c | 62 ++++++++++++- 3 files changed, 67 insertions(+), 238 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 000acd198..83e89cc22 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,241 +5,6 @@ .text - thumb_func_start sub_81051C0 -sub_81051C0: @ 81051C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0810526C @ =gSpriteTemplate_83ED474 - movs r7, 0xB8 - lsls r7, 1 - adds r1, r7, 0 - movs r2, 0x34 - movs r3, 0x7 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _08105270 @ =gSprites - mov r10, r1 - adds r2, r0, r1 - ldrb r1, [r2, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - movs r3, 0x4 - mov r9, r3 - mov r1, r9 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x2 - mov r8, r3 - mov r3, r8 - orrs r0, r3 - strb r0, [r1] - ldr r1, _08105274 @ =gSubspriteTables_83ED73C - adds r0, r2, 0 - bl SetSubspriteTables - ldr r6, _08105278 @ =gSharedMem - adds r0, r6, 0 - adds r0, 0x49 - strb r4, [r0] - ldr r0, _0810527C @ =gSpriteTemplate_83ED48C - adds r1, r7, 0 - movs r2, 0x54 - movs r3, 0x7 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - mov r1, r10 - adds r2, r0, r1 - ldrb r0, [r2, 0x5] - ands r5, r0 - mov r3, r9 - orrs r5, r3 - strb r5, [r2, 0x5] - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - mov r3, r8 - orrs r0, r3 - strb r0, [r1] - ldr r1, _08105280 @ =gSubspriteTables_83ED75C - adds r0, r2, 0 - bl SetSubspriteTables - adds r6, 0x4A - strb r4, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810526C: .4byte gSpriteTemplate_83ED474 -_08105270: .4byte gSprites -_08105274: .4byte gSubspriteTables_83ED73C -_08105278: .4byte gSharedMem -_0810527C: .4byte gSpriteTemplate_83ED48C -_08105280: .4byte gSubspriteTables_83ED75C - thumb_func_end sub_81051C0 - - thumb_func_start sub_8105284 -sub_8105284: @ 8105284 - push {r4,lr} - ldr r0, _081052D8 @ =gSpriteTemplate_83ED4A4 - ldr r1, _081052DC @ =gSpriteCoordOffsetX - ldrh r2, [r1] - movs r1, 0xA8 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x50 - movs r3, 0x7 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _081052E0 @ =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldr r1, _081052E4 @ =gSubspriteTables_83ED78C - bl SetSubspriteTables - ldr r0, _081052E8 @ =gSharedMem - adds r0, 0x42 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081052D8: .4byte gSpriteTemplate_83ED4A4 -_081052DC: .4byte gSpriteCoordOffsetX -_081052E0: .4byte gSprites -_081052E4: .4byte gSubspriteTables_83ED78C -_081052E8: .4byte gSharedMem - thumb_func_end sub_8105284 - - thumb_func_start sub_81052EC -sub_81052EC: @ 81052EC - push {r4-r7,lr} - movs r4, 0 - movs r5, 0 - ldr r6, _08105350 @ =gSharedMem + 0x4B -_081052F4: - ldr r0, _08105354 @ =gSpriteTemplate_83ED4BC - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - ldr r1, _08105358 @ =gSprites - adds r3, r1 - ldrb r2, [r3, 0x5] - movs r7, 0xD - negs r7, r7 - adds r1, r7, 0 - ands r2, r1 - movs r1, 0x4 - orrs r2, r1 - strb r2, [r3, 0x5] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - strh r5, [r3, 0x3C] - adds r1, r4, r6 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r5, 16 - movs r7, 0xA0 - lsls r7, 13 - adds r0, r7 - lsrs r5, r0, 16 - cmp r4, 0x2 - bls _081052F4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08105350: .4byte gSharedMem + 0x4B -_08105354: .4byte gSpriteTemplate_83ED4BC -_08105358: .4byte gSprites - thumb_func_end sub_81052EC - - thumb_func_start sub_810535C -sub_810535C: @ 810535C - push {r4,lr} - adds r4, r0, 0 - ldr r1, _0810539C @ =gSharedMem - ldrh r0, [r4, 0x3C] - ldrh r1, [r1, 0x14] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x28 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - adds r1, r0, 0 - adds r1, 0x3B - strh r1, [r4, 0x22] - movs r1, 0x14 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - bl sub_8102C48 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnimIfDifferent - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810539C: .4byte gSharedMem - thumb_func_end sub_810535C - thumb_func_start sub_81053A0 sub_81053A0: @ 81053A0 push {r4-r7,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 004538b14..78744d0e4 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -30,9 +30,13 @@ struct SlotMachineEwramStruct { /*0x3D*/ u8 unk3D; /*0x3E*/ u8 unk3E; /*0x3F*/ u8 unk3F; - /*0x40*/ u8 filler40[4]; + /*0x40*/ u8 filler40[2]; + /*0x42*/ u8 unk42; + /*0x43*/ u8 unk43; /*0x44*/ u8 unk44[5]; - /*0x49*/ u8 filler49[5]; + /*0x49*/ u8 unk49; + /*0x4A*/ u8 unk4A; + /*0x49*/ u8 unk4B[3]; /*0x4E*/ u8 unk4E; /*0x4F*/ u8 filler4F[9]; /*0x58*/ u16 win0h; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 9246e9428..3aaad9a8b 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3082,7 +3082,7 @@ void nullsub_69(struct Task *task) } -const struct SpriteTemplate gSpriteTemplate_83ED414; +extern const struct SpriteTemplate gSpriteTemplate_83ED414; void sub_8104EA8(void) { @@ -3191,6 +3191,66 @@ void sub_8105170(struct Sprite *sprite) } } +extern const struct SpriteTemplate gSpriteTemplate_83ED474; +extern const struct SpriteTemplate gSpriteTemplate_83ED48C; +extern const struct SubspriteTable gSubspriteTables_83ED73C[]; +extern const struct SubspriteTable gSubspriteTables_83ED75C[]; + +void sub_81051C0(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED474, 0x170, 0x34, 7); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + SetSubspriteTables(sprite, gSubspriteTables_83ED73C); + eSlotMachine->unk49 = spriteId; + + spriteId = CreateSprite(&gSpriteTemplate_83ED48C, 0x170, 0x54, 7); + sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + SetSubspriteTables(sprite, gSubspriteTables_83ED75C); + eSlotMachine->unk4A = spriteId; +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED4A4; +extern const struct SubspriteTable gSubspriteTables_83ED78C[]; + +void sub_8105284(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4A4, 0xa8 - gSpriteCoordOffsetX, 0x50, 7); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + SetSubspriteTables(sprite, gSubspriteTables_83ED78C); + eSlotMachine->unk42 = spriteId; +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED4BC; + +void sub_81052EC(void) +{ + u8 i; + s16 r5; + for (i = 0, r5 = 0; i < 3; i++, r5 += 20) + { + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4BC, 0x170, 0x00, 10); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + sprite->data[7] = r5; + eSlotMachine->unk4B[i] = spriteId; + } +} + +void sub_810535C(struct Sprite *sprite) +{ + s16 r0 = (u16)(eSlotMachine->unk14 + sprite->data[7]); + r0 %= 40; + sprite->pos1.y = r0 + 59; + StartSpriteAnimIfDifferent(sprite, sub_8102C48(r0 / 20)); +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From a357c07d83a3b90adf0353501cbc0f84f6eeeddc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 31 Dec 2017 19:58:37 -0500 Subject: through sub_8105554 --- asm/slot_machine.s | 236 ----------------------------------------------- include/slot_machine.h | 10 +- src/field/slot_machine.c | 70 +++++++++++++- 3 files changed, 71 insertions(+), 245 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 83e89cc22..f043fb536 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,242 +5,6 @@ .text - thumb_func_start sub_81053A0 -sub_81053A0: @ 81053A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r1, 0xB8 - lsls r1, 1 - ldr r0, _0810544C @ =gSpriteTemplate_83ED4D4 - movs r2, 0x64 - movs r3, 0x9 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r7, _08105450 @ =gSprites - adds r2, r0, r7 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x2 - mov r10, r3 - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - ldrb r1, [r2, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - movs r1, 0x4 - mov r8, r1 - mov r3, r8 - orrs r0, r3 - strb r0, [r2, 0x5] - ldr r0, _08105454 @ =gSubspriteTables_83ED7B4 - mov r9, r0 - adds r0, r2, 0 - mov r1, r9 - bl SetSubspriteTables - ldr r6, _08105458 @ =gSharedMem - adds r0, r6, 0 - adds r0, 0x4E - strb r4, [r0] - movs r1, 0x90 - lsls r1, 1 - ldr r0, _0810544C @ =gSpriteTemplate_83ED4D4 - movs r2, 0x68 - movs r3, 0x4 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r2, r0, r7 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - ldrb r0, [r2, 0x5] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r2, 0x5] - adds r0, r2, 0 - mov r1, r9 - bl SetSubspriteTables - adds r6, 0x4F - strb r4, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810544C: .4byte gSpriteTemplate_83ED4D4 -_08105450: .4byte gSprites -_08105454: .4byte gSubspriteTables_83ED7B4 -_08105458: .4byte gSharedMem - thumb_func_end sub_81053A0 - - thumb_func_start sub_810545C -sub_810545C: @ 810545C - push {r4,lr} - ldr r0, _081054A8 @ =gSpriteTemplate_83ED4EC - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x4C - movs r3, 0xB - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _081054AC @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, _081054B0 @ =gSubspriteTables_83ED7D4 - bl SetSubspriteTables - ldr r0, _081054B4 @ =gSharedMem - adds r0, 0x40 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081054A8: .4byte gSpriteTemplate_83ED4EC -_081054AC: .4byte gSprites -_081054B0: .4byte gSubspriteTables_83ED7D4 -_081054B4: .4byte gSharedMem - thumb_func_end sub_810545C - - thumb_func_start sub_81054B8 -sub_81054B8: @ 81054B8 - push {r4,r5,lr} - ldr r4, _08105518 @ =gSharedMem - adds r0, r4, 0 - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810551C @ =gSprites - adds r0, r1 - bl DestroySprite - movs r5, 0 - adds r4, 0x49 -_081054D4: - adds r0, r5, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810551C @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _081054D4 - movs r5, 0 - ldr r4, _08105520 @ =gSharedMem + 0x4B -_081054F4: - adds r0, r5, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810551C @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _081054F4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08105518: .4byte gSharedMem -_0810551C: .4byte gSprites -_08105520: .4byte gSharedMem + 0x4B - thumb_func_end sub_81054B8 - - thumb_func_start sub_8105524 -sub_8105524: @ 8105524 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810554C @ =gSharedMem + 0x4E -_0810552A: - adds r0, r4, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08105550 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0810552A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810554C: .4byte gSharedMem + 0x4E -_08105550: .4byte gSprites - thumb_func_end sub_8105524 - - thumb_func_start sub_8105554 -sub_8105554: @ 8105554 - push {lr} - ldr r0, _08105570 @ =gSharedMem - adds r0, 0x42 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08105574 @ =gSprites - adds r0, r1 - bl DestroySprite - pop {r0} - bx r0 - .align 2, 0 -_08105570: .4byte gSharedMem -_08105574: .4byte gSprites - thumb_func_end sub_8105554 - thumb_func_start sub_8105578 sub_8105578: @ 8105578 push {r4-r6,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 78744d0e4..882ec6d52 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -30,15 +30,15 @@ struct SlotMachineEwramStruct { /*0x3D*/ u8 unk3D; /*0x3E*/ u8 unk3E; /*0x3F*/ u8 unk3F; - /*0x40*/ u8 filler40[2]; + /*0x40*/ u8 unk40; + /*0x41*/ u8 unk41; /*0x42*/ u8 unk42; /*0x43*/ u8 unk43; /*0x44*/ u8 unk44[5]; - /*0x49*/ u8 unk49; - /*0x4A*/ u8 unk4A; + /*0x49*/ u8 unk49[2]; /*0x49*/ u8 unk4B[3]; - /*0x4E*/ u8 unk4E; - /*0x4F*/ u8 filler4F[9]; + /*0x4E*/ u8 unk4E[2]; + /*0x50*/ u8 filler50[8]; /*0x58*/ u16 win0h; /*0x5a*/ u16 win0v; /*0x5c*/ u16 winIn; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 3aaad9a8b..4b580839c 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -2821,7 +2821,7 @@ void sub_81048CC(struct Task *task) sub_81056C0(); sub_8105804(); sub_8105854(); - gSprites[eSlotMachine->unk4E].invisible = TRUE; + gSprites[eSlotMachine->unk4E[0]].invisible = TRUE; StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 5); task->data[0]++; task->data[4] = 4; @@ -2845,7 +2845,7 @@ void sub_8104940(struct Task *task) sub_81058C4(); sub_8105284(); sub_81059E8(); - gSprites[eSlotMachine->unk4E].invisible = FALSE; + gSprites[eSlotMachine->unk4E[0]].invisible = FALSE; task->data[0]++; task->data[5] = 0; } @@ -3203,14 +3203,14 @@ void sub_81051C0(void) sprite->oam.priority = 1; sprite->coordOffsetEnabled = TRUE; SetSubspriteTables(sprite, gSubspriteTables_83ED73C); - eSlotMachine->unk49 = spriteId; + eSlotMachine->unk49[0] = spriteId; spriteId = CreateSprite(&gSpriteTemplate_83ED48C, 0x170, 0x54, 7); sprite = gSprites + spriteId; sprite->oam.priority = 1; sprite->coordOffsetEnabled = TRUE; SetSubspriteTables(sprite, gSubspriteTables_83ED75C); - eSlotMachine->unk4A = spriteId; + eSlotMachine->unk49[1] = spriteId; } extern const struct SpriteTemplate gSpriteTemplate_83ED4A4; @@ -3251,6 +3251,68 @@ void sub_810535C(struct Sprite *sprite) StartSpriteAnimIfDifferent(sprite, sub_8102C48(r0 / 20)); } +extern const struct SpriteTemplate gSpriteTemplate_83ED4D4; +extern const struct SubspriteTable gSubspriteTables_83ED7B4[]; + +void sub_81053A0(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x170, 0x64, 9); + 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->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + SetSubspriteTables(sprite, gSubspriteTables_83ED7B4); + eSlotMachine->unk4E[1] = spriteId; +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED4EC; +extern const struct SubspriteTable gSubspriteTables_83ED7D4[]; + +void sub_810545C(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4EC, 0x170, 0x4c, 11); + struct Sprite *sprite = gSprites + spriteId; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + SetSubspriteTables(sprite, gSubspriteTables_83ED7D4); + eSlotMachine->unk40 = spriteId; +} + +void sub_81054B8(void) +{ + u8 i; + + DestroySprite(gSprites + eSlotMachine->unk40); + for (i = 0; i < 2; i++) + { + DestroySprite(gSprites + eSlotMachine->unk49[i]); + } + for (i = 0; i < 3; i++) + { + DestroySprite(gSprites + eSlotMachine->unk4B[i]); + } +} + +void sub_8105524(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + DestroySprite(gSprites + eSlotMachine->unk4E[i]); + } +} + +void sub_8105554(void) +{ + DestroySprite(gSprites + eSlotMachine->unk42); +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From 39d2d1f37c62ffc458c82943fbfceb86959ef1a3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 31 Dec 2017 20:18:22 -0500 Subject: through sub_81056C0 --- asm/slot_machine.s | 197 ----------------------------------------------- include/slot_machine.h | 3 +- src/field/slot_machine.c | 61 +++++++++++++++ 3 files changed, 63 insertions(+), 198 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index f043fb536..5518d4395 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,203 +5,6 @@ .text - thumb_func_start sub_8105578 -sub_8105578: @ 8105578 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, _0810561C @ =gSpriteTemplate_83ED504 - mov r10, r0 - movs r1, 0x98 - movs r2, 0x20 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, _08105620 @ =gSprites - mov r9, r2 - adds r3, r1, r2 - ldrb r2, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r2 - movs r2, 0x4 - mov r8, r2 - mov r2, r8 - orrs r1, r2 - strb r1, [r3, 0x5] - adds r5, r3, 0 - adds r5, 0x3F - ldrb r1, [r5] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r5] - ldr r5, _08105624 @ =gSharedMem - adds r1, r5, 0 - adds r1, 0x50 - strb r0, [r1] - movs r0, 0x8 - strh r0, [r3, 0x2E] - ldr r0, _08105628 @ =0x0000ffff - strh r0, [r3, 0x30] - movs r0, 0x1 - negs r0, r0 - strh r0, [r3, 0x32] - movs r6, 0x20 - strh r6, [r3, 0x3C] - mov r0, r10 - movs r1, 0xB8 - movs r2, 0x20 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - mov r2, r9 - adds r3, r1, r2 - ldrb r1, [r3, 0x5] - ands r4, r1 - mov r1, r8 - orrs r4, r1 - strb r4, [r3, 0x5] - adds r5, 0x51 - strb r0, [r5] - movs r0, 0x1 - strh r0, [r3, 0x30] - subs r0, 0x2 - strh r0, [r3, 0x32] - strh r6, [r3, 0x3C] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810561C: .4byte gSpriteTemplate_83ED504 -_08105620: .4byte gSprites -_08105624: .4byte gSharedMem -_08105628: .4byte 0x0000ffff - thumb_func_end sub_8105578 - - thumb_func_start sub_810562C -sub_810562C: @ 810562C - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r4, [r2, r1] - cmp r4, 0 - beq _08105650 - subs r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x2E] - strh r1, [r2, 0x24] - strh r1, [r2, 0x26] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - b _08105682 -_08105650: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x26] - adds r0, r1 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08105682 - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x2E] - strh r4, [r2, 0x34] -_08105682: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810562C - - thumb_func_start sub_8105688 -sub_8105688: @ 8105688 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _081056B8 @ =gSprites - ldr r3, _081056BC @ =gSharedMem - adds r1, r3, 0 - adds r1, 0x50 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x3C] - adds r3, 0x51 - ldrb r2, [r3] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x3C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081056B8: .4byte gSprites -_081056BC: .4byte gSharedMem - thumb_func_end sub_8105688 - - thumb_func_start sub_81056C0 -sub_81056C0: @ 81056C0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _081056E8 @ =gSharedMem + 0x50 -_081056C6: - adds r0, r4, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081056EC @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _081056C6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081056E8: .4byte gSharedMem + 0x50 -_081056EC: .4byte gSprites - thumb_func_end sub_81056C0 - thumb_func_start sub_81056F0 sub_81056F0: @ 81056F0 push {r4-r6,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 882ec6d52..7d7d8a24d 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -38,7 +38,8 @@ struct SlotMachineEwramStruct { /*0x49*/ u8 unk49[2]; /*0x49*/ u8 unk4B[3]; /*0x4E*/ u8 unk4E[2]; - /*0x50*/ u8 filler50[8]; + /*0x50*/ u8 unk50[2]; + /*0x52*/ u8 filler52[6]; /*0x58*/ u16 win0h; /*0x5a*/ u16 win0v; /*0x5c*/ u16 winIn; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 4b580839c..8ca873e84 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3313,6 +3313,67 @@ void sub_8105554(void) DestroySprite(gSprites + eSlotMachine->unk42); } +extern const struct SpriteTemplate gSpriteTemplate_83ED504; + +void sub_8105578(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0x98, 0x20, 5); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->hFlip = TRUE; + eSlotMachine->unk50[0] = spriteId; + sprite->data[0] = 8; + sprite->data[1] = -1; + sprite->data[2] = -1; + sprite->data[7] = 0x20; + + spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0xb8, 0x20, 5); + sprite = gSprites + spriteId; + sprite->oam.priority = 1; + eSlotMachine->unk50[1] = spriteId; + sprite->data[1] = 1; + sprite->data[2] = -1; + sprite->data[7] = 0x20; +} + +void sub_810562C(struct Sprite *sprite) +{ + if (sprite->data[0] != 0) + { + sprite->data[0]--; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + sprite->pos2.x += sprite->data[1]; + sprite->pos2.y += sprite->data[2]; + if (++sprite->data[3] >= 8) + { + sprite->data[0] = sprite->data[7]; + sprite->data[3] = 0; + } + } +} + +void sub_8105688(s16 a0) +{ + gSprites[eSlotMachine->unk50[0]].data[7] = a0; + gSprites[eSlotMachine->unk50[1]].data[7] = a0; +} + +void sub_81056C0(void) +{ + u8 i; + + for (i = 0; i < 2; i++) + { + DestroySprite(gSprites + eSlotMachine->unk50[i]); + } +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From 99c897b71582e942e47765837c936b5fd79bf569 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 31 Dec 2017 21:11:48 -0500 Subject: through sub_81059B8 --- asm/slot_machine.s | 393 ----------------------------------------------- include/slot_machine.h | 3 +- src/field/slot_machine.c | 116 ++++++++++++++ 3 files changed, 118 insertions(+), 394 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 5518d4395..c10408d89 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,399 +5,6 @@ .text - thumb_func_start sub_81056F0 -sub_81056F0: @ 81056F0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r0, _08105778 @ =gSpriteTemplate_83ED51C - mov r8, r0 - movs r1, 0x48 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810577C @ =gSprites - mov r9, r1 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r9 - ldrb r3, [r2, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r3 - movs r6, 0x4 - orrs r1, r6 - strb r1, [r2, 0x5] - movs r3, 0 - movs r1, 0x1 - strh r1, [r2, 0x2E] - strh r3, [r2, 0x38] - movs r1, 0x10 - strh r1, [r2, 0x3A] - movs r1, 0x8 - strh r1, [r2, 0x3C] - ldr r5, _08105780 @ =gSharedMem - adds r1, r5, 0 - adds r1, 0x52 - strb r0, [r1] - mov r0, r8 - movs r1, 0x68 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x5] - ands r4, r2 - orrs r4, r6 - strb r4, [r1, 0x5] - adds r1, 0x3F - ldrb r2, [r1] - movs r3, 0x1 - orrs r2, r3 - strb r2, [r1] - adds r5, 0x53 - strb r0, [r5] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08105778: .4byte gSpriteTemplate_83ED51C -_0810577C: .4byte gSprites -_08105780: .4byte gSharedMem - thumb_func_end sub_81056F0 - - thumb_func_start sub_8105784 -sub_8105784: @ 8105784 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _081057E0 @ =gUnknown_083ECC58 - mov r0, sp - movs r2, 0x2 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081057D6 - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - cmp r0, 0 - bgt _081057D6 - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, _081057E4 @ =0x01030000 - adds r0, r2 - lsrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r4, r2] - add r1, sp - ldrb r3, [r1] - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyInvertedPaletteRGBComponents - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3C] - strh r0, [r4, 0x3A] -_081057D6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081057E0: .4byte gUnknown_083ECC58 -_081057E4: .4byte 0x01030000 - thumb_func_end sub_8105784 - - thumb_func_start sub_81057E8 -sub_81057E8: @ 81057E8 - ldr r3, _081057FC @ =gSprites - ldr r1, _08105800 @ =gSharedMem - adds r1, 0x52 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x3C] - bx lr - .align 2, 0 -_081057FC: .4byte gSprites -_08105800: .4byte gSharedMem - thumb_func_end sub_81057E8 - - thumb_func_start sub_8105804 -sub_8105804: @ 8105804 - push {r4,r5,lr} - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08105848 @ =0x01030000 - adds r0, r1 - lsrs r0, 16 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl MultiplyInvertedPaletteRGBComponents - movs r4, 0 - ldr r5, _0810584C @ =gSharedMem + 0x52 -_08105824: - adds r0, r4, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08105850 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _08105824 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08105848: .4byte 0x01030000 -_0810584C: .4byte gSharedMem + 0x52 -_08105850: .4byte gSprites - thumb_func_end sub_8105804 - - thumb_func_start sub_8105854 -sub_8105854: @ 8105854 - push {lr} - ldr r0, _08105888 @ =gSpriteTemplate_83ED534 - movs r1, 0xA8 - movs r2, 0x50 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810588C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - ands r2, r3 - movs r3, 0x4 - orrs r2, r3 - strb r2, [r1, 0x5] - ldr r1, _08105890 @ =gSharedMem - adds r1, 0x41 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08105888: .4byte gSpriteTemplate_83ED534 -_0810588C: .4byte gSprites -_08105890: .4byte gSharedMem - thumb_func_end sub_8105854 - - thumb_func_start sub_8105894 -sub_8105894: @ 8105894 - ldr r1, _0810589C @ =gSpriteCoordOffsetY - ldrh r1, [r1] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_0810589C: .4byte gSpriteCoordOffsetY - thumb_func_end sub_8105894 - - thumb_func_start sub_81058A0 -sub_81058A0: @ 81058A0 - push {lr} - ldr r0, _081058BC @ =gSharedMem - adds r0, 0x41 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081058C0 @ =gSprites - adds r0, r1 - bl DestroySprite - pop {r0} - bx r0 - .align 2, 0 -_081058BC: .4byte gSharedMem -_081058C0: .4byte gSprites - thumb_func_end sub_81058A0 - - thumb_func_start sub_81058C4 -sub_81058C4: @ 81058C4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, _08105938 @ =gUnknown_083ECC5A - mov r0, sp - movs r2, 0x8 - bl memcpy - movs r4, 0 - ldr r5, _0810593C @ =gSharedMem + 0x54 -_081058D6: - ldr r0, _08105940 @ =gSpriteCoordOffsetX - ldrh r0, [r0] - movs r1, 0x50 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - ldr r0, _08105944 @ =gSpriteTemplate_83ED54C - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - ldr r1, _08105948 @ =gSprites - adds r3, r1 - ldrb r2, [r3, 0x5] - movs r6, 0xD - negs r6, r6 - adds r1, r6, 0 - ands r2, r1 - movs r1, 0x4 - orrs r2, r1 - strb r2, [r3, 0x5] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - lsls r1, r4, 1 - add r1, sp - ldrh r1, [r1] - strh r1, [r3, 0x2E] - adds r1, r4, r5 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081058D6 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08105938: .4byte gUnknown_083ECC5A -_0810593C: .4byte gSharedMem + 0x54 -_08105940: .4byte gSpriteCoordOffsetX -_08105944: .4byte gSpriteTemplate_83ED54C -_08105948: .4byte gSprites - thumb_func_end sub_81058C4 - - thumb_func_start sub_810594C -sub_810594C: @ 810594C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - subs r0, 0x2 - movs r4, 0 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0x14 - bl Cos - strh r0, [r5, 0x24] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r1, 0x6 - bl Sin - strh r0, [r5, 0x26] - adds r1, r5, 0 - adds r1, 0x43 - strb r4, [r1] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x7F - ble _08105986 - movs r0, 0x2 - strb r0, [r1] -_08105986: - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _081059B0 - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r0, r2, 31 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0 - strh r0, [r5, 0x30] -_081059B0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810594C - - thumb_func_start sub_81059B8 -sub_81059B8: @ 81059B8 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _081059E0 @ =gSharedMem + 0x54 -_081059BE: - adds r0, r4, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081059E4 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081059BE - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081059E0: .4byte gSharedMem + 0x54 -_081059E4: .4byte gSprites - thumb_func_end sub_81059B8 - thumb_func_start sub_81059E8 sub_81059E8: @ 81059E8 push {r4,lr} diff --git a/include/slot_machine.h b/include/slot_machine.h index 7d7d8a24d..34431a8ef 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -39,7 +39,8 @@ struct SlotMachineEwramStruct { /*0x49*/ u8 unk4B[3]; /*0x4E*/ u8 unk4E[2]; /*0x50*/ u8 unk50[2]; - /*0x52*/ u8 filler52[6]; + /*0x52*/ u8 unk52[2]; + /*0x54*/ u8 unk54[4]; /*0x58*/ u16 win0h; /*0x5a*/ u16 win0v; /*0x5c*/ u16 winIn; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 8ca873e84..9a098d4cf 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -9,6 +9,7 @@ #include "main.h" #include "slot_machine.h" #include "decompress.h" +#include "trig.h" #include "palette.h" #include "task.h" #include "util.h" @@ -3374,6 +3375,121 @@ void sub_81056C0(void) } } +extern const struct SpriteTemplate gSpriteTemplate_83ED51C; + +void sub_81056F0(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED51C, 0x48, 0x50, 3); + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 1; + gSprites[spriteId].data[5] = 0; + gSprites[spriteId].data[6] = 16; + gSprites[spriteId].data[7] = 8; + eSlotMachine->unk52[0] = spriteId; + + spriteId = CreateSprite(&gSpriteTemplate_83ED51C, 0x68, 0x50, 3); + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].hFlip = TRUE; + eSlotMachine->unk52[1] = spriteId; +} + +extern const u8 gUnknown_083ECC58[2]; // don't remove this until decompiled through gUnknown_083ECCF8 + +void sub_8105784(struct Sprite *sprite) +{ + // u8 sp[] = {16, 0}; + u8 sp[ARRAY_COUNT(gUnknown_083ECC58)]; + memcpy(sp, gUnknown_083ECC58, sizeof gUnknown_083ECC58); + if (sprite->data[0] && --sprite->data[6] <= 0) + { + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, sp[sprite->data[5]], sp[sprite->data[5]], sp[sprite->data[5]]); + ++sprite->data[5]; + sprite->data[5] &= 1; + sprite->data[6] = sprite->data[7]; + } +} + +void sub_81057E8(s16 a0) +{ + gSprites[eSlotMachine->unk52[0]].data[7] = a0; +} + +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]); + } +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED534; + +void sub_8105854(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED534, 0xa8, 0x50, 6); + gSprites[spriteId].oam.priority = 1; + eSlotMachine->unk41 = spriteId; +} + +void sub_8105894(struct Sprite *sprite) +{ + sprite->pos2.y = gSpriteCoordOffsetY; +} + +void sub_81058A0(void) +{ + DestroySprite(gSprites + eSlotMachine->unk41); +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED54C; +extern const u16 gUnknown_083ECC5A[4]; // don't remove this until decompiled through gUnknown_083ECCF8 + +void sub_81058C4(void) +{ + u8 i; + // u16 sp[] = {0x0, 0x40, 0x80, 0xC0}; + u16 sp[ARRAY_COUNT(gUnknown_083ECC5A)]; + memcpy(sp, gUnknown_083ECC5A, sizeof gUnknown_083ECC5A); + for (i = 0; i < 4; i++) + { + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED54C, 0x50 - gSpriteCoordOffsetX, 0x44, 0); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + sprite->data[0] = sp[i]; + eSlotMachine->unk54[i] = spriteId; + } +} + +void sub_810594C(struct Sprite *sprite) +{ + sprite->data[0] -= 2; + sprite->data[0] &= 0xff; + sprite->pos2.x = Cos(sprite->data[0], 20); + sprite->pos2.y = Sin(sprite->data[0], 6); + sprite->subpriority = 0; + if (sprite->data[0] >= 0x80) + { + sprite->subpriority = 2; + } + if (++sprite->data[1] >= 16) + { + sprite->hFlip ^= 1; + sprite->data[1] = 0; + } +} + +void sub_81059B8(void) +{ + u8 i; + for (i = 0; i < 4; i++) + { + DestroySprite(gSprites + eSlotMachine->unk54[i]); + } +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From f35549349e3c51003c124c74a8917b84a3f8e704 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 31 Dec 2017 21:45:59 -0500 Subject: through sub_8105BF8 --- asm/slot_machine.s | 337 ----------------------------------------------- include/sprite.h | 4 +- src/field/slot_machine.c | 108 ++++++++++++++- 3 files changed, 107 insertions(+), 342 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index c10408d89..236ac5ee0 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,343 +5,6 @@ .text - thumb_func_start sub_81059E8 -sub_81059E8: @ 81059E8 - push {r4,lr} - ldr r0, _08105A2C @ =gSpriteTemplate_83ED564 - movs r1, 0xA8 - movs r2, 0x3C - movs r3, 0x8 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _08105A30 @ =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - bl InitSpriteAffineAnim - ldr r0, _08105A34 @ =gSharedMem - adds r0, 0x43 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08105A2C: .4byte gSpriteTemplate_83ED564 -_08105A30: .4byte gSprites -_08105A34: .4byte gSharedMem - thumb_func_end sub_81059E8 - - thumb_func_start sub_8105A38 -sub_8105A38: @ 8105A38 - push {lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x2E] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08105A5A - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08105AB4 - adds r0, r2, 0x1 - strh r0, [r3, 0x2E] - b _08105AB4 -_08105A5A: - cmp r0, 0x1 - bne _08105A96 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _08105AB4 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - movs r0, 0 - strh r0, [r3, 0x32] - b _08105AB4 -_08105A96: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _08105AB4 - movs r0, 0x1 - strh r0, [r3, 0x3C] -_08105AB4: - ldrh r0, [r3, 0x30] - movs r1, 0xFF - ands r1, r0 - adds r1, 0x10 - strh r1, [r3, 0x30] - lsrs r1, 8 - ldrh r0, [r3, 0x26] - subs r0, r1 - strh r0, [r3, 0x26] - pop {r0} - bx r0 - thumb_func_end sub_8105A38 - - thumb_func_start sub_8105ACC -sub_8105ACC: @ 8105ACC - ldr r2, _08105AE4 @ =gSprites - ldr r0, _08105AE8 @ =gSharedMem - adds r0, 0x43 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_08105AE4: .4byte gSprites -_08105AE8: .4byte gSharedMem - thumb_func_end sub_8105ACC - - thumb_func_start sub_8105AEC -sub_8105AEC: @ 8105AEC - push {r4,lr} - ldr r0, _08105B14 @ =gSharedMem - adds r0, 0x43 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08105B18 @ =gSprites - adds r4, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08105B14: .4byte gSharedMem -_08105B18: .4byte gSprites - thumb_func_end sub_8105AEC - - thumb_func_start sub_8105B1C -sub_8105B1C: @ 8105B1C - push {r4,lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _08105B68 @ =gSpriteTemplate_83ED6CC - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0xC - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _08105B6C @ =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - bl InitSpriteAffineAnim - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08105B68: .4byte gSpriteTemplate_83ED6CC -_08105B6C: .4byte gSprites - thumb_func_end sub_8105B1C - - thumb_func_start sub_8105B70 -sub_8105B70: @ 8105B70 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08105B84 - movs r0, 0x1 - strh r0, [r2, 0x3C] -_08105B84: - pop {r0} - bx r0 - thumb_func_end sub_8105B70 - - thumb_func_start sub_8105B88 -sub_8105B88: @ 8105B88 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08105BB0 @ =gSprites - adds r4, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08105BB0: .4byte gSprites - thumb_func_end sub_8105B88 - - thumb_func_start sub_8105BB4 -sub_8105BB4: @ 8105BB4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _08105BF0 @ =gUnknown_083ECF0C - lsrs r1, 22 - adds r3, r1, r3 - ldr r5, [r3] - ldr r3, _08105BF4 @ =gUnknown_083ECE7E - adds r4, r1, r3 - movs r6, 0 - ldrsh r4, [r4, r6] - adds r3, 0x2 - adds r1, r3 - movs r6, 0 - ldrsh r3, [r1, r6] - lsls r2, 16 - asrs r2, 16 - str r2, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8105BF8 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08105BF0: .4byte gUnknown_083ECF0C -_08105BF4: .4byte gUnknown_083ECE7E - thumb_func_end sub_8105BB4 - - thumb_func_start sub_8105BF8 -sub_8105BF8: @ 8105BF8 - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r1, r2, 0 - adds r2, r3, 0 - ldr r5, [sp, 0x14] - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _08105C58 @ =gUnknown_083EDB5C - lsrs r4, 22 - adds r0, r4, r0 - ldr r0, [r0] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x10 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _08105C5C @ =gSprites - adds r2, r0, r1 - ldrb r0, [r2, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r2, 0x5] - str r6, [r2, 0x1C] - strh r5, [r2, 0x3A] - movs r0, 0x1 - strh r0, [r2, 0x3C] - ldr r0, _08105C60 @ =gUnknown_083EDBC4 - adds r4, r0 - ldr r1, [r4] - cmp r1, 0 - beq _08105C50 - adds r0, r2, 0 - bl SetSubspriteTables -_08105C50: - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08105C58: .4byte gUnknown_083EDB5C -_08105C5C: .4byte gSprites -_08105C60: .4byte gUnknown_083EDBC4 - thumb_func_end sub_8105BF8 - thumb_func_start sub_8105C64 sub_8105C64: @ 8105C64 movs r1, 0 diff --git a/include/sprite.h b/include/sprite.h index 1e989b6d5..37a318206 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -172,6 +172,8 @@ struct SpriteTemplate void (*callback)(struct Sprite *); }; +typedef void (*SpriteCallback)(struct Sprite *); + struct Sprite { /*0x00*/ struct OamData oam; @@ -180,7 +182,7 @@ struct Sprite /*0x10*/ const union AffineAnimCmd *const *affineAnims; /*0x14*/ const struct SpriteTemplate *template; /*0x18*/ const struct SubspriteTable *subspriteTables; - /*0x1C*/ void (*callback)(struct Sprite *); + /*0x1C*/ SpriteCallback callback; /*0x20*/ struct Coords16 pos1; /*0x24*/ struct Coords16 pos2; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 9a098d4cf..f10ed4352 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -212,9 +212,9 @@ void sub_81059B8(void); void sub_81059E8(void); bool8 sub_8105ACC(void); void sub_8105AEC(void); -u8 sub_8105B1C(s16 a0, s16 a1); -void sub_8105B88(u8 a0); -u8 sub_8105BF8(u8, u32, s16, s16, s16); +u8 sub_8105B1C(s16 x, s16 y); +void sub_8105B88(u8 spriteId); +u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4); void sub_81063C0(void); static void sub_8106448(void); void sub_81064B8(void); @@ -3022,7 +3022,7 @@ void sub_8104CAC(u8 arg0) { } } -void sub_8104D30(u8 a0, u32 a1, s16 a2, s16 a3, s16 a4) +void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) { u8 i; struct Task *task = gTasks + eSlotMachine->unk3D; @@ -3490,6 +3490,106 @@ void sub_81059B8(void) } } +extern const struct SpriteTemplate gSpriteTemplate_83ED564; + +void sub_81059E8(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED564, 0xa8, 0x3c, 8); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + InitSpriteAffineAnim(sprite); + eSlotMachine->unk43 = spriteId; +} + +void sub_8105A38(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + if (sprite->affineAnimEnded) + sprite->data[0]++; + } + else if (sprite->data[0] == 1) + { + sprite->invisible ^= 1; + if (++sprite->data[2] >= 24) + { + sprite->data[0]++; + sprite->data[2] = 0; + } + } + else + { + sprite->invisible = TRUE; + if (++sprite->data[2] >= 16) + sprite->data[7] = 1; + } + sprite->data[1] &= 0xff; + sprite->data[1] += 16; + sprite->pos2.y -= (sprite->data[1] >> 8); +} + +u8 sub_8105ACC(void) +{ + return gSprites[eSlotMachine->unk43].data[7]; +} + +void sub_8105AEC(void) +{ + struct Sprite *sprite = gSprites + eSlotMachine->unk43; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); +} + +extern const struct SpriteTemplate gSpriteTemplate_83ED6CC; + +u8 sub_8105B1C(s16 x, s16 y) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED6CC, x, y, 12); + struct Sprite *sprite = gSprites + spriteId; + sprite->oam.priority = 2; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + InitSpriteAffineAnim(sprite); + return spriteId; +} + +void sub_8105B70(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + sprite->data[7] = 1; +} + +void sub_8105B88(u8 spriteId) +{ + struct Sprite *sprite = gSprites + spriteId; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); +} + +extern const SpriteCallback gUnknown_083ECF0C[]; +extern const s16 gUnknown_083ECE7E[][2]; + +u8 sub_8105BB4(u8 a0, u8 a1, s16 a2) +{ + return sub_8105BF8(a0, gUnknown_083ECF0C[a1], gUnknown_083ECE7E[a1][0], gUnknown_083ECE7E[a1][1], a2); +} + +extern const struct SpriteTemplate *gUnknown_083EDB5C[]; +extern const struct SubspriteTable *gUnknown_083EDBC4[]; + +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; + sprite->oam.priority = 3; + sprite->callback = callback; + sprite->data[6] = a4; + sprite->data[7] = 1; + if (gUnknown_083EDBC4[templateIdx]) + SetSubspriteTables(sprite, gUnknown_083EDBC4[templateIdx]); + return spriteId; +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From de03aa5bcb74f63d53b9603acf4e512a14b31663 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 31 Dec 2017 22:42:40 -0500 Subject: through sub_8105D3C --- asm/slot_machine.s | 181 ----------------------------------------------- src/field/slot_machine.c | 82 +++++++++++++++++++++ 2 files changed, 82 insertions(+), 181 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 236ac5ee0..55f2c5bbd 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,187 +5,6 @@ .text - thumb_func_start sub_8105C64 -sub_8105C64: @ 8105C64 - movs r1, 0 - strh r1, [r0, 0x3C] - bx lr - thumb_func_end sub_8105C64 - - thumb_func_start sub_8105C6C -sub_8105C6C: @ 8105C6C - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, _08105CE8 @ =gUnknown_083ECC62 - mov r0, sp - movs r2, 0x8 - bl memcpy - add r5, sp, 0x8 - ldr r1, _08105CEC @ =gUnknown_083ECC6A - adds r0, r5, 0 - movs r2, 0x8 - bl memcpy - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _08105CB2 - adds r3, r4, 0 - adds r3, 0x42 - ldrb r2, [r3] - lsls r0, r2, 26 - lsrs r0, 26 - movs r1, 0x1 - eors r1, r0 - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0 - strh r0, [r4, 0x30] -_08105CB2: - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x42 - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - beq _08105CDE - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] -_08105CDE: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08105CE8: .4byte gUnknown_083ECC62 -_08105CEC: .4byte gUnknown_083ECC6A - thumb_func_end sub_8105C6C - - thumb_func_start sub_8105CF0 -sub_8105CF0: @ 8105CF0 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r3] - bl sub_8105C6C - pop {r0} - bx r0 - thumb_func_end sub_8105CF0 - - thumb_func_start sub_8105D08 -sub_8105D08: @ 8105D08 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - bl sub_8105C6C - pop {r0} - bx r0 - thumb_func_end sub_8105D08 - - thumb_func_start sub_8105D20 -sub_8105D20: @ 8105D20 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x1 - orrs r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - bl sub_8105C6C - pop {r0} - bx r0 - thumb_func_end sub_8105D20 - - thumb_func_start sub_8105D3C -sub_8105D3C: @ 8105D3C - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _08105D70 - cmp r0, 0x1 - bgt _08105D52 - cmp r0, 0 - beq _08105D5C - b _08105DA0 -_08105D52: - cmp r0, 0x2 - beq _08105D80 - cmp r0, 0x3 - beq _08105D9C - b _08105DA0 -_08105D5C: - ldrh r0, [r2, 0x20] - adds r0, 0x4 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xCF - ble _08105DA0 - movs r0, 0xD0 - strh r0, [r2, 0x20] - b _08105D8E -_08105D70: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _08105DA0 - b _08105D8E -_08105D80: - ldrh r0, [r2, 0x20] - adds r0, 0x4 - strh r0, [r2, 0x20] - lsls r0, 16 - ldr r1, _08105D98 @ =0x010f0000 - cmp r0, r1 - ble _08105DA0 -_08105D8E: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _08105DA0 - .align 2, 0 -_08105D98: .4byte 0x010f0000 -_08105D9C: - movs r0, 0 - strh r0, [r2, 0x3C] -_08105DA0: - pop {r0} - bx r0 - thumb_func_end sub_8105D3C - thumb_func_start sub_8105DA4 sub_8105DA4: @ 8105DA4 push {lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index f10ed4352..91cd12db6 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3590,6 +3590,88 @@ u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) return spriteId; } +void sub_8105C64(struct Sprite *sprite) +{ + sprite->data[7] = 0; +} + +extern const s16 gUnknown_083ECC62[4]; // do not delete yet +extern const s16 gUnknown_083ECC6A[4]; // do not delete yet + +void sub_8105C6C(struct Sprite *sprite) +{ + // s16 sp0[] = {4, -4, 4, -4}; + // s16 sp8[] = {4, 4, -4, -4}; + + s16 sp0[ARRAY_COUNT(gUnknown_083ECC62)]; + s16 sp8[ARRAY_COUNT(gUnknown_083ECC6A)]; + memcpy(sp0, gUnknown_083ECC62, sizeof gUnknown_083ECC62); + memcpy(sp8, gUnknown_083ECC6A, sizeof gUnknown_083ECC6A); + + if (sprite->data[1]++ >= 16) + { + sprite->subspriteTableNum ^= 1; + sprite->data[1] = 0; + } + sprite->pos2.x = 0; + sprite->pos2.y = 0; + if (sprite->subspriteTableNum != 0) + { + sprite->pos2.x = sp0[sprite->data[6]]; + sprite->pos2.y = sp8[sprite->data[6]]; + } +} + +void sub_8105CF0(struct Sprite *sprite) +{ + sprite->hFlip = TRUE; + sub_8105C6C(sprite); +} + +void sub_8105D08(struct Sprite *sprite) +{ + sprite->vFlip = TRUE; + sub_8105C6C(sprite); +} + +void sub_8105D20(struct Sprite *sprite) +{ + sprite->hFlip = TRUE; + sprite->vFlip = TRUE; + sub_8105C6C(sprite); +} + +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; + } +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From c96d7a085f00911275f95c51f4cea5be03dcbd3a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 1 Jan 2018 19:45:25 -0500 Subject: through sub_8105F9C --- asm/slot_machine.s | 384 ----------------------------------------------- src/field/slot_machine.c | 171 +++++++++++++++++++++ 2 files changed, 171 insertions(+), 384 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 55f2c5bbd..9ec9315e3 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,390 +5,6 @@ .text - thumb_func_start sub_8105DA4 -sub_8105DA4: @ 8105DA4 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08105DD8 - cmp r0, 0x1 - bgt _08105DBA - cmp r0, 0 - beq _08105DC4 - b _08105E02 -_08105DBA: - cmp r0, 0x2 - beq _08105DE8 - cmp r0, 0x3 - beq _08105DFE - b _08105E02 -_08105DC4: - ldrh r0, [r1, 0x20] - subs r0, 0x4 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - bgt _08105E02 - movs r0, 0xD0 - strh r0, [r1, 0x20] - b _08105DF6 -_08105DD8: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _08105E02 - b _08105DF6 -_08105DE8: - ldrh r0, [r1, 0x20] - subs r0, 0x4 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x90 - bgt _08105E02 -_08105DF6: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _08105E02 -_08105DFE: - movs r0, 0 - strh r0, [r1, 0x3C] -_08105E02: - pop {r0} - bx r0 - thumb_func_end sub_8105DA4 - - thumb_func_start sub_8105E08 -sub_8105E08: @ 8105E08 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _08105EAE - lsls r0, 2 - ldr r1, _08105E20 @ =_08105E24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08105E20: .4byte _08105E24 - .align 2, 0 -_08105E24: - .4byte _08105E3C - .4byte _08105E52 - .4byte _08105E70 - .4byte _08105E84 - .4byte _08105E94 - .4byte _08105EAA -_08105E3C: - ldr r0, _08105E6C @ =gSharedMem - ldrb r1, [r0, 0xA] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08105E52: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _08105EAE - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x30] - b _08105EAE - .align 2, 0 -_08105E6C: .4byte gSharedMem -_08105E70: - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xCF - ble _08105EAE - movs r0, 0xD0 - strh r0, [r4, 0x20] - b _08105EA2 -_08105E84: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _08105EAE - b _08105EA2 -_08105E94: - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF7 - ble _08105EAE -_08105EA2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08105EAE -_08105EAA: - movs r0, 0 - strh r0, [r4, 0x3C] -_08105EAE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8105E08 - - thumb_func_start sub_8105EB4 -sub_8105EB4: @ 8105EB4 - push {lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _08105EE2 - cmp r0, 0x1 - bgt _08105ECA - cmp r0, 0 - beq _08105ED0 - b _08105F50 -_08105ECA: - cmp r0, 0x2 - beq _08105F00 - b _08105F50 -_08105ED0: - adds r2, r3, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_08105EE2: - ldrh r0, [r3, 0x22] - adds r0, 0x8 - strh r0, [r3, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _08105F50 - movs r0, 0x70 - strh r0, [r3, 0x22] - movs r0, 0x10 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _08105F50 -_08105F00: - movs r0, 0x32 - ldrsh r2, [r3, r0] - cmp r2, 0 - bne _08105F46 - ldrh r0, [r3, 0x22] - ldrh r1, [r3, 0x30] - subs r0, r1 - strh r0, [r3, 0x22] - negs r1, r1 - strh r1, [r3, 0x30] - ldrh r0, [r3, 0x34] - adds r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08105F46 - lsls r0, r1, 16 - asrs r0, 18 - strh r0, [r3, 0x30] - strh r2, [r3, 0x34] - adds r1, r0, 0 - cmp r1, 0 - bne _08105F46 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - strh r1, [r3, 0x3C] - adds r2, r3, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08105F46: - ldrh r0, [r3, 0x32] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r3, 0x32] -_08105F50: - pop {r0} - bx r0 - thumb_func_end sub_8105EB4 - - thumb_func_start sub_8105F54 -sub_8105F54: @ 8105F54 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08105F66 - cmp r0, 0x1 - beq _08105F7C - b _08105F98 -_08105F66: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _08105F98 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _08105F98 -_08105F7C: - ldrh r0, [r1, 0x22] - adds r0, 0x2 - strh r0, [r1, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _08105F98 - movs r0, 0x30 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - movs r0, 0 - strh r0, [r1, 0x3C] -_08105F98: - pop {r0} - bx r0 - thumb_func_end sub_8105F54 - - thumb_func_start sub_8105F9C -sub_8105F9C: @ 8105F9C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08105FAE - cmp r0, 0x1 - beq _08106000 - b _0810604E -_08105FAE: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0810604E - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x5 - strh r0, [r4, 0x30] - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, _08105FFC @ =REG_MOSAIC - ldrh r1, [r4, 0x30] - lsls r0, r1, 4 - orrs r0, r1 - lsls r0, 8 - strh r0, [r2] - b _0810604E - .align 2, 0 -_08105FFC: .4byte REG_MOSAIC -_08106000: - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _08106016 - movs r0, 0 - strh r0, [r4, 0x30] -_08106016: - ldr r2, _08106054 @ =REG_MOSAIC - ldrh r1, [r4, 0x30] - lsls r0, r1, 4 - orrs r0, r1 - lsls r0, 8 - strh r0, [r2] - ldrh r1, [r4, 0x32] - movs r0, 0xFF - ands r0, r1 - adds r0, 0x80 - strh r0, [r4, 0x32] - movs r0, 0x30 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _0810604E - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0810604E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08106054: .4byte REG_MOSAIC - thumb_func_end sub_8105F9C - thumb_func_start sub_8106058 sub_8106058: @ 8106058 push {r4,r5,lr} diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 91cd12db6..dbc3da45a 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3672,6 +3672,177 @@ void sub_8105D3C(struct Sprite *sprite) } } +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; + } +} + +void sub_8105E08(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + StartSpriteAnim(sprite, eSlotMachine->unk0A - 1); + 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; + } +} + +void sub_8105EB4(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + 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]++; + } + 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->data[1] >>= 2; + sprite->data[3] = 0; + if (sprite->data[1] == 0) + { + sprite->data[0]++; + sprite->data[7] = 0; + sprite->animPaused = FALSE; + } + } + } + sprite->data[2]++; + sprite->data[2] &= 0x07; + break; + } +} + +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; + } +} + +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; + } + 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; + } +} + asm(".section .text_b"); static void sub_8106448(void) { -- cgit v1.2.3 From 25a4ce0c32704beacba2addde906f56c7cb8c592 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 1 Jan 2018 21:03:00 -0500 Subject: Remaining functions in slot_machine --- asm/slot_machine.s | 543 ----------------------------------------------- ld_script.txt | 2 - src/field/slot_machine.c | 228 +++++++++++++++++++- 3 files changed, 227 insertions(+), 546 deletions(-) delete mode 100644 asm/slot_machine.s diff --git a/asm/slot_machine.s b/asm/slot_machine.s deleted file mode 100644 index 9ec9315e3..000000000 --- a/asm/slot_machine.s +++ /dev/null @@ -1,543 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8106058 -sub_8106058: @ 8106058 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - bgt _081060A8 - ldr r1, _081060A4 @ =gUnknown_083EDE10 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081060E4 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - movs r0, 0 - strh r0, [r5, 0x32] - b _081060E4 - .align 2, 0 -_081060A4: .4byte gUnknown_083EDE10 -_081060A8: - ldr r1, _081060F8 @ =gUnknown_083EDE10 - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _081060E4 - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] -_081060E4: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - movs r0, 0 - strh r0, [r5, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081060F8: .4byte gUnknown_083EDE10 - thumb_func_end sub_8106058 - - thumb_func_start sub_81060FC -sub_81060FC: @ 81060FC - push {r4-r6,lr} - sub sp, 0x30 - adds r4, r0, 0 - ldr r1, _08106138 @ =gUnknown_083ECC72 - mov r0, sp - movs r2, 0x10 - bl memcpy - add r6, sp, 0x10 - ldr r1, _0810613C @ =gUnknown_083ECC82 - adds r0, r6, 0 - movs r2, 0x10 - bl memcpy - add r5, sp, 0x20 - ldr r1, _08106140 @ =gUnknown_083ECC92 - adds r0, r5, 0 - movs r2, 0x10 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08106174 - cmp r0, 0x1 - bgt _08106144 - cmp r0, 0 - beq _0810614A - b _081061C0 - .align 2, 0 -_08106138: .4byte gUnknown_083ECC72 -_0810613C: .4byte gUnknown_083ECC82 -_08106140: .4byte gUnknown_083ECC92 -_08106144: - cmp r0, 0x2 - beq _08106188 - b _081061C0 -_0810614A: - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08106174: - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _081061C0 - b _081061BA -_08106188: - ldrh r0, [r4, 0x24] - movs r2, 0x24 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _08106196 - subs r0, 0x4 - b _0810619C -_08106196: - cmp r1, 0 - bge _0810619E - adds r0, 0x4 -_0810619C: - strh r0, [r4, 0x24] -_0810619E: - ldrh r0, [r4, 0x26] - movs r2, 0x26 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _081061AC - subs r0, 0x4 - b _081061B2 -_081061AC: - cmp r1, 0 - bge _081061B4 - adds r0, 0x4 -_081061B2: - strh r0, [r4, 0x26] -_081061B4: - ldr r0, [r4, 0x24] - cmp r0, 0 - bne _081061C0 -_081061BA: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_081061C0: - add sp, 0x30 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81060FC - - thumb_func_start sub_81061C8 -sub_81061C8: @ 81061C8 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, _0810622C @ =gUnknown_083ECCA2 - mov r0, sp - movs r2, 0x10 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081061EA - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xC - strh r0, [r4, 0x30] -_081061EA: - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08106224 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_08106224: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810622C: .4byte gUnknown_083ECCA2 - thumb_func_end sub_81061C8 - - thumb_func_start sub_8106230 -sub_8106230: @ 8106230 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0810627A - cmp r0, 0x1 - bgt _08106248 - cmp r0, 0 - beq _08106252 - b _0810634A -_08106248: - cmp r0, 0x2 - beq _081062C4 - cmp r0, 0x3 - beq _081062FC - b _0810634A -_08106252: - ldr r2, _081062BC @ =gSharedMem - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x2F - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x3F - strh r0, [r1] - subs r1, 0x4 - ldr r0, _081062C0 @ =0x00002088 - strh r0, [r1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0810627A: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xB2 - strh r0, [r5, 0x32] - movs r1, 0xF0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _08106296 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_08106296: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _081062A2 - movs r0, 0xD0 - strh r0, [r5, 0x34] -_081062A2: - ldr r2, _081062BC @ =gSharedMem - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x33 - ble _0810634A - b _0810633C - .align 2, 0 -_081062BC: .4byte gSharedMem -_081062C0: .4byte 0x00002088 -_081062C4: - ldr r6, _08106354 @ =gSharedMem - movs r1, 0x12 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0810634A - ldr r1, _08106358 @ =SpriteCallbackDummy - movs r4, 0 - str r4, [sp] - movs r0, 0x5 - movs r2, 0xD0 - movs r3, 0x74 - bl sub_8104D30 - adds r1, r6, 0 - adds r1, 0x58 - ldr r0, _0810635C @ =0x0000c0e0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xD1 - lsls r0, 7 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2F - strh r0, [r1] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - strh r4, [r5, 0x30] -_081062FC: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xC2 - strh r0, [r5, 0x32] - movs r1, 0xE0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _08106318 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_08106318: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _08106324 - movs r0, 0xD0 - strh r0, [r5, 0x34] -_08106324: - ldr r2, _08106354 @ =gSharedMem - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0xF - ble _0810634A -_0810633C: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x3F - strh r0, [r1] -_0810634A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08106354: .4byte gSharedMem -_08106358: .4byte SpriteCallbackDummy -_0810635C: .4byte 0x0000c0e0 - thumb_func_end sub_8106230 - - thumb_func_start nullsub_70 -nullsub_70: @ 8106360 - bx lr - thumb_func_end nullsub_70 - - thumb_func_start sub_8106364 -sub_8106364: @ 8106364 - ldr r1, _0810636C @ =REG_MOSAIC - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_0810636C: .4byte REG_MOSAIC - thumb_func_end sub_8106364 - - thumb_func_start sub_8106370 -sub_8106370: @ 8106370 - push {r4,lr} - ldr r0, _08106398 @ =gUnknown_083EDE20 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08106398: .4byte gUnknown_083EDE20 - thumb_func_end sub_8106370 - - thumb_func_start sub_810639C -sub_810639C: @ 810639C - ldr r2, _081063BC @ =gSharedMem - adds r1, r2, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_081063BC: .4byte gSharedMem - thumb_func_end sub_810639C - - thumb_func_start sub_81063C0 -sub_81063C0: @ 81063C0 - push {r4,lr} - bl sub_8106404 - ldr r0, _081063F0 @ =gSlotMachineReelTimeLights_Gfx - ldr r4, _081063F4 @ =gSharedMem + 0x10000 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, _081063F8 @ =gUnknown_083EDE8C - movs r1, 0xC8 - lsls r1, 6 - adds r4, r1 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, _081063FC @ =gUnknown_083EDC2C - bl LoadSpriteSheets - ldr r0, _08106400 @ =gSlotMachineSpritePalettes - bl LoadSpritePalettes - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081063F0: .4byte gSlotMachineReelTimeLights_Gfx -_081063F4: .4byte gSharedMem + 0x10000 -_081063F8: .4byte gUnknown_083EDE8C -_081063FC: .4byte gUnknown_083EDC2C -_08106400: .4byte gSlotMachineSpritePalettes - thumb_func_end sub_81063C0 - - thumb_func_start sub_8106404 -sub_8106404: @ 8106404 - push {r4,r5,lr} - ldr r3, _0810643C @ =gSharedMem + 0x10000 - movs r2, 0 - ldr r5, _08106440 @ =gUnknown_083EDCDC - ldr r0, _08106444 @ =gUnknown_083EDCE4 - ldr r4, [r0] -_08106410: - movs r1, 0 - adds r2, 0x1 -_08106414: - adds r0, r4, r1 - ldrb r0, [r0] - strb r0, [r3] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - adds r3, 0x1 - cmp r1, 0x1F - bls _08106414 - lsls r0, r2, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _08106410 - adds r0, r5, 0 - bl LoadSpriteSheet - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810643C: .4byte gSharedMem + 0x10000 -_08106440: .4byte gUnknown_083EDCDC -_08106444: .4byte gUnknown_083EDCE4 - thumb_func_end sub_8106404 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 86728ae95..c02c6873e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -320,8 +320,6 @@ SECTIONS { asm/cute_sketch.o(.text); src/field/decoration.o(.text); src/field/slot_machine.o(.text); - asm/slot_machine.o(.text); - src/field/slot_machine.o(.text_b); src/scene/contest_painting.o(.text); src/battle/battle_ai.o(.text); src/field/trader.o(.text); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index dbc3da45a..d33e46099 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -216,6 +216,7 @@ u8 sub_8105B1C(s16 x, s16 y); void sub_8105B88(u8 spriteId); u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4); void sub_81063C0(void); +void sub_8106404(void); static void sub_8106448(void); void sub_81064B8(void); void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); @@ -3843,7 +3844,232 @@ void sub_8105F9C(struct Sprite *sprite) } } -asm(".section .text_b"); +extern const u16 *const gUnknown_083EDE10[]; + +void sub_8106058(struct Sprite *sprite) +{ + if (sprite->data[1] < 3) + { + LoadPalette(gUnknown_083EDE10[sprite->data[1]], (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); + if (++sprite->data[2] >= 4) + { + sprite->data[1]++; + sprite->data[2] = 0; + } + } + else + { + LoadPalette(gUnknown_083EDE10[sprite->data[1]], (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); + if (++sprite->data[2] >= 25) + { + sprite->data[1] = 0; + sprite->data[2] = 0; + } + } + StartSpriteAnimIfDifferent(sprite, 1); + sprite->data[7] = 0; +} + +extern const s16 gUnknown_083ECC72[8]; // do not remove these yet +extern const s16 gUnknown_083ECC82[8]; // do not remove these yet +extern const s16 gUnknown_083ECC92[8]; // do not remove these yet + +void sub_81060FC(struct Sprite *sprite) +{ + // s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; + // s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; + // s16 sp20[] = {16, 12, 16, 0, 0, 4, 8, 8}; + + s16 sp00[ARRAY_COUNT(gUnknown_083ECC72)]; + s16 sp10[ARRAY_COUNT(gUnknown_083ECC82)]; + s16 sp20[ARRAY_COUNT(gUnknown_083ECC92)]; + + memcpy(sp00, gUnknown_083ECC72, sizeof gUnknown_083ECC72); + memcpy(sp10, gUnknown_083ECC82, sizeof gUnknown_083ECC82); + memcpy(sp20, gUnknown_083ECC92, sizeof gUnknown_083ECC92); + + 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]]; + 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; + } +} + +extern const s16 gUnknown_083ECCA2[8]; // do not remove this yet + +void sub_81061C8(struct Sprite *sprite) +{ + s16 sp0[ARRAY_COUNT(gUnknown_083ECCA2)]; + + memcpy(sp0, gUnknown_083ECCA2, sizeof gUnknown_083ECCA2); + + if (sprite->data[0] == 0) + { + sprite->data[0]++; + sprite->data[1] = 12; + } + 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]) + { + sprite->data[1]--; + } +} + +void sub_8106230(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + eSlotMachine->winIn = 0x2f; + eSlotMachine->winOut = 0x3f; + eSlotMachine->win0v = 0x2088; + sprite->invisible = TRUE; + sprite->data[0]++; + // fallthrough + case 1: + sprite->data[1] += 2; + 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) + { + sprite->data[0]++; + eSlotMachine->winIn = 0x3f; + } + break; + case 2: + if (eSlotMachine->bet == 0) + { + break; + } + sub_8104D30(5, SpriteCallbackDummy, 0xd0, 0x74, 0); + eSlotMachine->win0h = 0xc0e0; + eSlotMachine->win0v = 0x6880; + eSlotMachine->winIn = 0x2f; + sprite->data[0]++; + sprite->data[1] = 0; + // fallthrough + case 3: + sprite->data[1] += 2; + 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) + { + sprite->data[0]++; + eSlotMachine->winIn = 0x3f; + } + break; + } +} + +void nullsub_70(void) +{ + +} + +void sub_8106364(void) +{ + REG_MOSAIC = 0; +} + +extern const u16 *const gUnknown_083EDE20; + +void sub_8106370(void) +{ + LoadPalette(gUnknown_083EDE20, (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); +} + +void sub_810639C(void) +{ + eSlotMachine->win0h = 0xf0; + eSlotMachine->win0v = 0xa0; + eSlotMachine->winIn = 0x3f; + eSlotMachine->winOut = 0x3f; +} + +extern const u8 gSlotMachineReelTimeLights_Gfx[]; +extern const u8 gUnknown_083EDE8C[]; +extern const struct SpriteSheet gUnknown_083EDC2C[]; +extern const struct SpritePalette gSlotMachineSpritePalettes[]; + +void sub_81063C0(void) +{ + sub_8106404(); + LZDecompressWram(gSlotMachineReelTimeLights_Gfx, ewram10000); + LZDecompressWram(gUnknown_083EDE8C, ewram10000 + 0x3200); + LoadSpriteSheets(gUnknown_083EDC2C); + LoadSpritePalettes(gSlotMachineSpritePalettes); +} + +extern const u8 *gUnknown_083EDCE4; +extern const struct SpriteSheet gUnknown_083EDCDC; + +void sub_8106404(void) +{ + u8 *dest = ewram10000; + u8 i = 0; + const struct SpriteSheet *sheet = &gUnknown_083EDCDC; + const u8 *src = gUnknown_083EDCE4; + for (i = 0; i < 0x40; i++) + { + u8 j; + for (j = 0; j < 0x20; j++, dest++) + { + *dest = src[j]; + } + } + LoadSpriteSheet(sheet); +} static void sub_8106448(void) { u32 offsetRead, offsetWrite; -- cgit v1.2.3 From d84dfb66de48aca1146f86b2b790a2c73f964b51 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 1 Jan 2018 21:11:54 -0500 Subject: Decompile enough data to nuke the explicit calls to memcpy --- data/slot_machine.s | 39 -------------------------------- src/field/slot_machine.c | 59 ++++++++++++++++-------------------------------- 2 files changed, 20 insertions(+), 78 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index d3af411ec..2811e5b5f 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,45 +3,6 @@ .section .rodata -gUnknown_083ECC58:: @ 83ECC58 - .byte 16, 0 - - .align 1 -gUnknown_083ECC5A:: @ 83ECC5A - .2byte 0x0, 0x40, 0x80, 0xC0 - - .align 1 -gUnknown_083ECC62:: @ 83ECC62 - .2byte 4, -4, 4, -4 - - .align 1 -gUnknown_083ECC6A:: @ 83ECC6A - .2byte 4, 4, -4, -4 - - .align 1 -gUnknown_083ECC72:: @ 83ECC72 - .2byte 0, -40, 0, 0, 48, 0, 24, 0 - - .align 1 -gUnknown_083ECC82:: @ 83ECC82 - .2byte -32, 0, -32, -48, 0, -48, 0, -48 - - .align 1 -gUnknown_083ECC92:: @ 83ECC92 - .2byte 16, 12, 16, 0, 0, 4, 8, 8 - - .align 1 -gUnknown_083ECCA2:: @ 83ECCA2 - .2byte 160, 192, 224, 104, 80, 64, 48, 24 - -gUnknown_083ECCB2:: @ 83ECCB2 - .byte 0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6 - .byte 0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4 - .byte 0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4 - -gUnknown_083ECCF1:: @ 83ECCF1 - .byte 1, 0, 5, 4, 3, 2, 0 - .align 1 gUnknown_083ECCF8:: @ 83ECCF8 .2byte 0, 6, 0, 10, 0, 2 diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index d33e46099..594d743f1 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -1326,7 +1326,7 @@ bool8 sub_8102B80(struct Task *task) return FALSE; } -extern const u8 gUnknown_083ECCB2[][21]; +const u8 gUnknown_083ECCB2[][21]; u8 sub_8102BA4(u8 x, s16 y) { @@ -1346,7 +1346,7 @@ u8 sub_8102BF8(u8 x, s16 y) return sub_8102BA4(x, y + r6); } -extern const u8 gUnknown_083ECCF1[]; +const u8 gUnknown_083ECCF1[]; u8 sub_8102C48(s16 a0) { @@ -3398,9 +3398,7 @@ extern const u8 gUnknown_083ECC58[2]; // don't remove this until decompiled thro void sub_8105784(struct Sprite *sprite) { - // u8 sp[] = {16, 0}; - u8 sp[ARRAY_COUNT(gUnknown_083ECC58)]; - memcpy(sp, gUnknown_083ECC58, sizeof gUnknown_083ECC58); + u8 sp[] = {16, 0}; if (sprite->data[0] && --sprite->data[6] <= 0) { MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, sp[sprite->data[5]], sp[sprite->data[5]], sp[sprite->data[5]]); @@ -3445,14 +3443,11 @@ void sub_81058A0(void) } extern const struct SpriteTemplate gSpriteTemplate_83ED54C; -extern const u16 gUnknown_083ECC5A[4]; // don't remove this until decompiled through gUnknown_083ECCF8 void sub_81058C4(void) { u8 i; - // u16 sp[] = {0x0, 0x40, 0x80, 0xC0}; - u16 sp[ARRAY_COUNT(gUnknown_083ECC5A)]; - memcpy(sp, gUnknown_083ECC5A, sizeof gUnknown_083ECC5A); + u16 sp[] = {0x0, 0x40, 0x80, 0xC0}; for (i = 0; i < 4; i++) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED54C, 0x50 - gSpriteCoordOffsetX, 0x44, 0); @@ -3596,18 +3591,10 @@ void sub_8105C64(struct Sprite *sprite) sprite->data[7] = 0; } -extern const s16 gUnknown_083ECC62[4]; // do not delete yet -extern const s16 gUnknown_083ECC6A[4]; // do not delete yet - void sub_8105C6C(struct Sprite *sprite) { - // s16 sp0[] = {4, -4, 4, -4}; - // s16 sp8[] = {4, 4, -4, -4}; - - s16 sp0[ARRAY_COUNT(gUnknown_083ECC62)]; - s16 sp8[ARRAY_COUNT(gUnknown_083ECC6A)]; - memcpy(sp0, gUnknown_083ECC62, sizeof gUnknown_083ECC62); - memcpy(sp8, gUnknown_083ECC6A, sizeof gUnknown_083ECC6A); + s16 sp0[] = {4, -4, 4, -4}; + s16 sp8[] = {4, 4, -4, -4}; if (sprite->data[1]++ >= 16) { @@ -3870,23 +3857,11 @@ void sub_8106058(struct Sprite *sprite) sprite->data[7] = 0; } -extern const s16 gUnknown_083ECC72[8]; // do not remove these yet -extern const s16 gUnknown_083ECC82[8]; // do not remove these yet -extern const s16 gUnknown_083ECC92[8]; // do not remove these yet - void sub_81060FC(struct Sprite *sprite) { - // s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; - // s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; - // s16 sp20[] = {16, 12, 16, 0, 0, 4, 8, 8}; - - s16 sp00[ARRAY_COUNT(gUnknown_083ECC72)]; - s16 sp10[ARRAY_COUNT(gUnknown_083ECC82)]; - s16 sp20[ARRAY_COUNT(gUnknown_083ECC92)]; - - memcpy(sp00, gUnknown_083ECC72, sizeof gUnknown_083ECC72); - memcpy(sp10, gUnknown_083ECC82, sizeof gUnknown_083ECC82); - memcpy(sp20, gUnknown_083ECC92, sizeof gUnknown_083ECC92); + s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; + s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; + s16 sp20[] = {16, 12, 16, 0, 0, 4, 8, 8}; switch (sprite->data[0]) { @@ -3927,13 +3902,9 @@ void sub_81060FC(struct Sprite *sprite) } } -extern const s16 gUnknown_083ECCA2[8]; // do not remove this yet - void sub_81061C8(struct Sprite *sprite) { - s16 sp0[ARRAY_COUNT(gUnknown_083ECCA2)]; - - memcpy(sp0, gUnknown_083ECCA2, sizeof gUnknown_083ECCA2); + s16 sp0[] = {160, 192, 224, 104, 80, 64, 48, 24}; if (sprite->data[0] == 0) { @@ -4152,3 +4123,13 @@ void sub_81065DC(void) { } } } + +const u8 gUnknown_083ECCB2[][21] = { + {0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6}, + {0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4}, + {0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4} +}; + +const u8 gUnknown_083ECCF1[] = { + 1, 0, 5, 4, 3, 2 +}; -- cgit v1.2.3 From 865dcd79aab063eb90aef470e6ed54ba40a8c812 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 10:54:50 -0500 Subject: data through gUnknown_083ECE12 --- data/slot_machine.s | 44 ------------------------------ src/field/slot_machine.c | 71 +++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 61 insertions(+), 54 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index 2811e5b5f..6caf29e42 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,50 +3,6 @@ .section .rodata - .align 1 -gUnknown_083ECCF8:: @ 83ECCF8 - .2byte 0, 6, 0, 10, 0, 2 - -gUnknown_083ECD04:: @ 83ECD04 - .byte 1, 1, 12 - .byte 1, 1, 14 - .byte 2, 2, 14 - .byte 2, 2, 14 - .byte 2, 3, 16 - .byte 3, 3, 16 - -gUnknown_083ECD16:: @ 83ECD16 - .byte 25, 25, 30, 40, 40, 50 - .byte 25, 25, 30, 30, 35, 35 - .byte 25, 25, 30, 25, 25, 30 - -gUnknown_083ECD28:: @ 83ECD28 - .byte 20, 25, 25, 20, 25, 25 - .byte 12, 15, 15, 18, 19, 22 - .byte 25, 25, 25, 30, 30, 40 - .byte 25, 25, 20, 20, 15, 15 - .byte 40, 40, 35, 35, 40, 40 - -gUnknown_083ECD46:: @ 83ECD46 - .byte -13, -13, -13, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5 - .byte 5, 5, 5,-106,-106,-106,-106,-126,-126,-126,-126,-126,-126, 100, 100, 100, 5 - .byte 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40 - .byte 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 45, 45, 45, 100 - .byte 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 100 - .byte 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6 - -gUnknown_083ECDAC:: @ 83ECDAC - .byte -13, -13, -13, -56, -56, -56, -56, -96, -96, -96, -96, -96, -96, 70, 70, 70, 5 - .byte 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6 - .byte 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35 - .byte 2, 2, 2, 3, 3, 3, 3, 30, 30, 30, 30, 30, 30, 100, 100, 100, 50 - .byte 1, 1, 1, 2, 2, 2, 2, 30, 30, 30, 30, 30, 30, 40, 40, 40, 100 - .byte 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60 - - .align 1 -gUnknown_083ECE12:: @ 83ECE12 - .2byte 128, 175, 200, 225, 256 - gUnknown_083ECE1C:: @ 83ECE1C .byte 10, 0, 5, 0, 10, 0, 10, 0, 10, 0, 15, 0, 10, 0, 25, 0, 10, 0, 35, 0 diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 594d743f1..3d68b187e 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -222,13 +222,13 @@ void sub_81064B8(void); void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); void sub_81065DC(void); -extern struct UnkStruct1 *gUnknown_083ED048[]; +extern const struct UnkStruct1 *gUnknown_083ED048[]; extern const u16 gPalette_83EDE24[]; extern const u8 gSlotMachine_Gfx[]; extern const u16 gUnknown_08E95A18[]; -extern u16 gUnknown_08E95AB8[]; -extern u16 gUnknown_08E95FB8[]; -extern const u8 gUnknown_083ECD04[][3]; +extern const u16 gUnknown_08E95AB8[]; +extern const u16 gUnknown_08E95FB8[]; +const u8 gUnknown_083ECD04[][3]; extern const u8 gUnknown_083ECE3A[]; extern const u16 gUnknown_083ECE42[]; extern const u16 gUnknown_083ECE48[]; @@ -368,7 +368,7 @@ static void sub_8101B04(void) REG_BLDALPHA = 0x809; } -extern const s16 gUnknown_083ECCF8[3][2]; +const s16 gUnknown_083ECCF8[][2]; static void sub_8101BA4(void) { @@ -983,7 +983,7 @@ static bool8 sub_8102540(void) return FALSE; } -extern const u8 gUnknown_083ECD16[][6]; +const u8 gUnknown_083ECD16[][6]; static u8 sub_8102578(void) { @@ -1001,7 +1001,7 @@ static u8 sub_8102578(void) return i; } -extern const u8 gUnknown_083ECD28[][6]; +const u8 gUnknown_083ECD28[][6]; static u8 sub_81025BC(void) { @@ -1035,8 +1035,8 @@ static u8 sub_81025BC(void) return i; } -extern const u8 gUnknown_083ECDAC[][17]; -extern const u8 gUnknown_083ECD46[][17]; +const u8 gUnknown_083ECD46[][17]; +const u8 gUnknown_083ECDAC[][17]; u8 sub_810264C(u8 a0) { @@ -1069,7 +1069,7 @@ void sub_8102680(void) eSlotMachine->unk05 = i; } -extern const u16 gUnknown_083ECE12[]; +const u16 gUnknown_083ECE12[]; bool8 sub_81026DC(u16 a0) { @@ -4133,3 +4133,54 @@ const u8 gUnknown_083ECCB2[][21] = { const u8 gUnknown_083ECCF1[] = { 1, 0, 5, 4, 3, 2 }; + +const s16 gUnknown_083ECCF8[][2] = { + {0, 6}, + {0, 10}, + {0, 2} +}; + +const u8 gUnknown_083ECD04[][3] = { + {1, 1, 12}, + {1, 1, 14}, + {2, 2, 14}, + {2, 2, 14}, + {2, 3, 16}, + {3, 3, 16} +}; + +const u8 gUnknown_083ECD16[][6] = { + {25, 25, 30, 40, 40, 50}, + {25, 25, 30, 30, 35, 35}, + {25, 25, 30, 25, 25, 30} +}; + +const u8 gUnknown_083ECD28[][6] = { + {20, 25, 25, 20, 25, 25}, + {12, 15, 15, 18, 19, 22}, + {25, 25, 25, 30, 30, 40}, + {25, 25, 20, 20, 15, 15}, + {40, 40, 35, 35, 40, 40} +}; + +const u8 gUnknown_083ECD46[][17] = { + {243, 243, 243, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5}, + { 5, 5, 5, 150, 150, 150, 150, 130, 130, 130, 130, 130, 130, 100, 100, 100, 5}, + { 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40}, + { 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 45, 45, 45, 100}, + { 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 100}, + { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6} +}; + +const u8 gUnknown_083ECDAC[][17] = { + { 243, 243, 243, 200, 200, 200, 200, 160, 160, 160, 160, 160, 160, 70, 70, 70, 5}, + { 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6}, + { 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35}, + { 2, 2, 2, 3, 3, 3, 3, 30, 30, 30, 30, 30, 30, 100, 100, 100, 50}, + { 1, 1, 1, 2, 2, 2, 2, 30, 30, 30, 30, 30, 30, 40, 40, 40, 100}, + { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60} +}; + +const u16 gUnknown_083ECE12[] = { + 0x80, 0xaf, 0xc8, 0xe1, 0x100 +}; -- cgit v1.2.3 From 8f0ea5f965251a6fc8097302b2dae3c8635ae569 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 11:52:15 -0500 Subject: data through gOamData_83ED0B8 --- data/slot_machine.s | 285 -------------------------------------- src/field/slot_machine.c | 349 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 338 insertions(+), 296 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index 6caf29e42..4f9629c49 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,291 +3,6 @@ .section .rodata -gUnknown_083ECE1C:: @ 83ECE1C - .byte 10, 0, 5, 0, 10, 0, 10, 0, 10, 0, 15, 0, 10, 0, 25, 0, 10, 0, 35, 0 - -gUnknown_083ECE30:: @ 83ECE30 - .byte 0, 0, 5, 0, 10, 0, 15, 0, 20, 0 - -gUnknown_083ECE3A:: @ 83ECE3A - .byte 6, 4, 3, 2, 5, 0, 0, 0 - -gUnknown_083ECE42:: @ 83ECE42 - .byte 0x80, 0 - .byte 0x20, 0 - .byte 0x40, 0 - -gUnknown_083ECE48:: @ 83ECE48 - .byte 0x10, 0 - .byte 0x08, 0 - .byte 0x04, 0 - .byte 0x02, 0 - .byte 0x01, 0 - -gUnknown_083ECE52:: @ 83ECE52 - .byte 7, 8, 4, 3, 0, 5, 2, 0 - - .align 1 -gUnknown_083ECE5A:: @ 83ECE5A - .2byte 1, 2, 4, 8, 16, 32, 64, 128, 256 - - .align 1 -gUnknown_083ECE6C:: @ 83ECE6C - .2byte 2, 4, 0, 6, 12, 3, 90, 300, 300 - - .align 1 -gUnknown_083ECE7E:: @ 83ECE7E - .2byte 208, 56 - .2byte 184, 0 - .2byte 200, 8 - .2byte 216, 16 - .2byte 232, 24 - .2byte 208, 72 - .2byte 208, 8 - .2byte 208, 64 - .2byte 208, 56 - .2byte 192, 88 - .2byte 224, 88 - .2byte 192, 120 - .2byte 224, 120 - .2byte 144, 56 - .2byte 272, 88 - .2byte 168, 112 - .2byte 208, 84 - .2byte 208, 112 - .2byte 188, 52 - .2byte 208, 52 - .2byte 228, 52 - .2byte 184, 72 - .2byte 196, 72 - .2byte 208, 72 - .2byte 220, 72 - .2byte 232, 72 - .2byte 188, 52 - .2byte 208, 52 - .2byte 228, 52 - .2byte 184, 72 - .2byte 196, 72 - .2byte 208, 72 - .2byte 220, 72 - .2byte 232, 72 - .2byte 0, 0 - - .align 2 -gUnknown_083ECF0C:: @ 83ECF0C - .4byte sub_8105C64 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F9C - .4byte sub_8105EB4 - .4byte sub_8105C64 - .4byte sub_8105C64 - .4byte sub_8105C6C - .4byte sub_8105CF0 - .4byte sub_8105D08 - .4byte sub_8105D20 - .4byte sub_8105D3C - .4byte sub_8105DA4 - .4byte sub_8105E08 - .4byte sub_8105C64 - .4byte sub_8106058 - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_8106230 - - .align 2 -Unknown_83ECF98: - .byte 25, 34 - .2byte 0 - .byte 2, 0 - .2byte 0 - .byte 9, 16 - .2byte 0 - .byte 255, 0 - .2byte 0 - - .align 2 -Unknown_83ECFA8: - .byte 10, 1 - .2byte 0 - .byte 11, 2 - .2byte 0 - .byte 12, 3 - .2byte 0 - .byte 13, 4 - .2byte 0 - .byte 5, 5 - .2byte 0 - .byte 8, 6 - .2byte 0 - .byte 255, 0 - .2byte 0 - - .align 2 -Unknown_83ECFC4: - .byte 3, 7 - .2byte 0 - .byte 8, 17 - .2byte 0 - .byte 255, 0 - .2byte 0 - - .align 2 -Unknown_83ECFD0: - .byte 4, 8 - .2byte 0 - .byte 6, 9 - .2byte 0 - .byte 6, 10 - .2byte 1 - .byte 6, 11 - .2byte 2 - .byte 6, 12 - .2byte 3 - .byte 255, 0 - .2byte 0 - - .align 2 -Unknown_83ECFE8: - .byte 0, 13 - .2byte 0 - .byte 1, 14 - .2byte 0 - .byte 7, 15 - .2byte 0 - .byte 255, 0 - .2byte 0 - - .align 2 -Unknown_83ECFF8: - .byte 19, 26 - .2byte 0 - .byte 20, 27 - .2byte 1 - .byte 21, 28 - .2byte 2 - .byte 14, 29 - .2byte 3 - .byte 15, 30 - .2byte 4 - .byte 16, 31 - .2byte 5 - .byte 17, 32 - .2byte 6 - .byte 18, 33 - .2byte 7 - .byte 8, 17 - .2byte 0 - .byte 255, 0 - .2byte 0 - - .align 2 -Unknown_83ED020: - .byte 22, 18 - .2byte 0 - .byte 23, 19 - .2byte 1 - .byte 24, 20 - .2byte 2 - .byte 14, 21 - .2byte 3 - .byte 15, 22 - .2byte 4 - .byte 16, 23 - .2byte 5 - .byte 17, 24 - .2byte 6 - .byte 18, 25 - .2byte 7 - .byte 8, 17 - .2byte 0 - .byte 255, 0 - .2byte 0 - - .align 2 -gUnknown_083ED048:: @ 83ED048 - .4byte Unknown_83ECF98 - .4byte Unknown_83ECFA8 - .4byte Unknown_83ECFC4 - .4byte Unknown_83ECFD0 - .4byte Unknown_83ECFE8 - .4byte Unknown_83ED020 - .4byte Unknown_83ECFF8 - - .align 2 -gUnknown_083ED064:: @ 83ED064 - .4byte sub_810639C - .4byte sub_8106364 - .4byte sub_8106370 - .4byte nullsub_70 - .4byte nullsub_70 - .4byte sub_8106370 - .4byte sub_8106370 - - .align 2 -gOamData_83ED080:: @ 83ED080 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_83ED088:: @ 83ED088 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_83ED090:: @ 83ED090 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gOamData_83ED098:: @ 83ED098 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0A0:: @ 83ED0A0 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0A8:: @ 83ED0A8 - .2byte 0x8000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0B0:: @ 83ED0B0 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0B8:: @ 83ED0B8 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - .align 2 gSpriteImageTable_83ED0C0:: @ 83ED0C0 obj_frame_tiles gSharedMem + 0x13200, 0x800 diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 3d68b187e..1e440cba8 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -222,16 +222,16 @@ void sub_81064B8(void); void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); void sub_81065DC(void); -extern const struct UnkStruct1 *gUnknown_083ED048[]; +const struct UnkStruct1 *const gUnknown_083ED048[]; extern const u16 gPalette_83EDE24[]; extern const u8 gSlotMachine_Gfx[]; extern const u16 gUnknown_08E95A18[]; extern const u16 gUnknown_08E95AB8[]; extern const u16 gUnknown_08E95FB8[]; const u8 gUnknown_083ECD04[][3]; -extern const u8 gUnknown_083ECE3A[]; -extern const u16 gUnknown_083ECE42[]; -extern const u16 gUnknown_083ECE48[]; +const u8 gUnknown_083ECE3A[]; +const u16 gUnknown_083ECE42[]; +const u16 gUnknown_083ECE48[]; void PlaySlotMachine(u8 arg0, void *ptr) { @@ -1081,8 +1081,8 @@ bool8 sub_81026DC(u16 a0) return FALSE; } -extern const u16 gUnknown_083ECE1C[][2]; -extern const u16 gUnknown_083ECE30[]; +const u16 gUnknown_083ECE1C[][2]; +const u16 gUnknown_083ECE30[]; u16 dp15_jump_random_unknown(void) { @@ -1134,8 +1134,8 @@ static void sub_81027A0(void) } } -extern const u16 gUnknown_083ECE6C[]; extern const u16 gUnknown_083ECE5A[]; +extern const u16 gUnknown_083ECE6C[]; static void sub_81027D0(void) { @@ -1219,7 +1219,7 @@ static void sub_810290C(void) } } -extern const u8 gUnknown_083ECE52[]; +const u8 gUnknown_083ECE52[]; static u8 sub_81029D4(u8 c1, u8 c2, u8 c3) { @@ -3037,7 +3037,7 @@ void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) } } -extern void (*const gUnknown_083ED064[])(void); +void (*const gUnknown_083ED064[])(void); void sub_8104DA4(void) { @@ -3562,8 +3562,8 @@ void sub_8105B88(u8 spriteId) DestroySprite(sprite); } -extern const SpriteCallback gUnknown_083ECF0C[]; -extern const s16 gUnknown_083ECE7E[][2]; +const s16 gUnknown_083ECE7E[][2]; +const SpriteCallback gUnknown_083ECF0C[]; u8 sub_8105BB4(u8 a0, u8 a1, s16 a2) { @@ -4184,3 +4184,330 @@ const u8 gUnknown_083ECDAC[][17] = { const u16 gUnknown_083ECE12[] = { 0x80, 0xaf, 0xc8, 0xe1, 0x100 }; + +const u16 gUnknown_083ECE1C[][2] = { + {10, 5}, + {10, 10}, + {10, 15}, + {10, 25}, + {10, 35} +}; + +const u16 gUnknown_083ECE30[] = { + 0, 5, 10, 15, 20 +}; + + +const u8 gUnknown_083ECE3A[] = { + 6, 4, 3, 2, 5, 0, 0, 0 +}; + +const u16 gUnknown_083ECE42[] = { + 0x80, 0x20, 0x40 +}; + +const u16 gUnknown_083ECE48[] = { + 0x10, 0x08, 0x04, 0x02, 0x01 +}; + +const u8 gUnknown_083ECE52[] = { + 7, 8, 4, 3, 0, 5, 2 +}; + +const u16 gUnknown_083ECE5A[] = { + 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100 +}; + +const u16 gUnknown_083ECE6C[] = { + 2, 4, 0, 6, 12, 3, 90, 300, 300 +}; + +const s16 gUnknown_083ECE7E[][2] = { + { 0xd0, 0x38}, + { 0xb8, 0x00}, + { 0xc8, 0x08}, + { 0xd8, 0x10}, + { 0xe8, 0x18}, + { 0xd0, 0x48}, + { 0xd0, 0x08}, + { 0xd0, 0x40}, + { 0xd0, 0x38}, + { 0xc0, 0x58}, + { 0xe0, 0x58}, + { 0xc0, 0x78}, + { 0xe0, 0x78}, + { 0x90, 0x38}, + {0x110, 0x58}, + { 0xa8, 0x70}, + { 0xd0, 0x54}, + { 0xd0, 0x70}, + { 0xbc, 0x34}, + { 0xd0, 0x34}, + { 0xe4, 0x34}, + { 0xb8, 0x48}, + { 0xc4, 0x48}, + { 0xd0, 0x48}, + { 0xdc, 0x48}, + { 0xe8, 0x48}, + { 0xbc, 0x34}, + { 0xd0, 0x34}, + { 0xe4, 0x34}, + { 0xb8, 0x48}, + { 0xc4, 0x48}, + { 0xd0, 0x48}, + { 0xdc, 0x48}, + { 0xe8, 0x48}, + { 0x00, 0x00} +}; + +const SpriteCallback gUnknown_083ECF0C[] = { + sub_8105C64, + sub_8105F54, + sub_8105F54, + sub_8105F54, + sub_8105F54, + sub_8105F9C, + sub_8105EB4, + sub_8105C64, + sub_8105C64, + sub_8105C6C, + sub_8105CF0, + sub_8105D08, + sub_8105D20, + sub_8105D3C, + sub_8105DA4, + sub_8105E08, + sub_8105C64, + sub_8106058, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_8106230 +}; + +static const struct UnkStruct1 Unknown_83ECF98[] = { + {25, 34, 0}, + {2, 0, 0}, + {9, 16, 0}, + {255, 0, 0} +}; + +static const struct UnkStruct1 Unknown_83ECFA8[] = { + {10, 1, 0}, + {11, 2, 0}, + {12, 3, 0}, + {13, 4, 0}, + {5, 5, 0}, + {8, 6, 0}, + {255, 0, 0} +}; + +static const struct UnkStruct1 Unknown_83ECFC4[] = { + {3, 7, 0}, + {8, 17, 0}, + {255, 0, 0} +}; + +static const struct UnkStruct1 Unknown_83ECFD0[] = { + {4, 8, 0}, + {6, 9, 0}, + {6, 10, 1}, + {6, 11, 2}, + {6, 12, 3}, + {255, 0, 0} +}; + +static const struct UnkStruct1 Unknown_83ECFE8[] = { + {0, 13, 0}, + {1, 14, 0}, + {7, 15, 0}, + {255, 0, 0} +}; + +static const struct UnkStruct1 Unknown_83ECFF8[] = { + {19, 26, 0}, + {20, 27, 1}, + {21, 28, 2}, + {14, 29, 3}, + {15, 30, 4}, + {16, 31, 5}, + {17, 32, 6}, + {18, 33, 7}, + {8, 17, 0}, + {255, 0, 0} +}; + +static const struct UnkStruct1 Unknown_83ED020[] = { + {22, 18, 0}, + {23, 19, 1}, + {24, 20, 2}, + {14, 21, 3}, + {15, 22, 4}, + {16, 23, 5}, + {17, 24, 6}, + {18, 25, 7}, + {8, 17, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 *const gUnknown_083ED048[] = { + Unknown_83ECF98, + Unknown_83ECFA8, + Unknown_83ECFC4, + Unknown_83ECFD0, + Unknown_83ECFE8, + Unknown_83ED020, + Unknown_83ECFF8 +}; + +void (*const gUnknown_083ED064[])(void) = { + sub_810639C, + sub_8106364, + sub_8106370, + nullsub_70, + nullsub_70, + sub_8106370, + sub_8106370 +}; + + +const struct OamData gOamData_83ED080 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .x = 0x0, + .matrixNum = 0, + .size = 0, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED088 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_V_RECTANGLE, + .x = 0x0, + .matrixNum = 0, + .size = 0, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED090 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .x = 0x0, + .matrixNum = 0, + .size = 1, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED098 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_V_RECTANGLE, + .x = 0x0, + .matrixNum = 0, + .size = 2, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED0A0 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .x = 0x0, + .matrixNum = 0, + .size = 2, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED0A8 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_V_RECTANGLE, + .x = 0x0, + .matrixNum = 0, + .size = 3, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED0B0 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_H_RECTANGLE, + .x = 0x0, + .matrixNum = 0, + .size = 3, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct OamData gOamData_83ED0B8 = { + .y = 0x0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .x = 0x0, + .matrixNum = 0, + .size = 3, + .tileNum = 0x0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; -- cgit v1.2.3 From fb99fe5aa6d8f7a257ba5613b32f285bba7afabd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 12:05:43 -0500 Subject: data through gSpriteImageTable_83ED228 --- data/slot_machine.s | 127 --------------------------------------------- include/ewram.h | 1 + include/graphics.h | 17 +++++++ src/field/slot_machine.c | 130 ++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 147 insertions(+), 128 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index 4f9629c49..ffc54f75e 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,133 +3,6 @@ .section .rodata - .align 2 -gSpriteImageTable_83ED0C0:: @ 83ED0C0 - obj_frame_tiles gSharedMem + 0x13200, 0x800 - obj_frame_tiles gSharedMem + 0x13A00, 0x800 - obj_frame_tiles gSharedMem + 0x14200, 0x800 - obj_frame_tiles gSharedMem + 0x14A00, 0x800 - obj_frame_tiles gSharedMem + 0x15200, 0x800 - - .align 2 -gSpriteImageTable_83ED0E8:: @ 83ED0E8 - obj_frame_tiles gSharedMem + 0x15A00, 0x300 - - .align 2 -gSpriteImageTable_83ED0F0:: @ 83ED0F0 - obj_frame_tiles gSharedMem + 0x15D00, 0x500 - - .align 2 -gSpriteImageTable_83ED0F8:: @ 83ED0F8 - obj_frame_tiles gSharedMem + 0x16200, 0x600 - - .align 2 -gSpriteImageTable_83ED100:: @ 83ED100 - obj_frame_tiles gSpriteImage_8E988E8, 0x80 - obj_frame_tiles gSpriteImage_8E98968, 0x80 - obj_frame_tiles gSpriteImage_8E989E8, 0x80 - obj_frame_tiles gSpriteImage_8E98A68, 0x80 - obj_frame_tiles gSpriteImage_8E98AE8, 0x80 - obj_frame_tiles gSpriteImage_8E98B68, 0x80 - - .align 2 -gSpriteImageTable_83ED130:: @ 83ED130 - obj_frame_tiles gSpriteImage_8E991E8, 0x200 - - .align 2 -gSpriteImageTable_83ED138:: @ 83ED138 - obj_frame_tiles gSpriteImage_8E99808, 0x40 - - .align 2 -gSpriteImageTable_83ED140:: @ 83ED140 - obj_frame_tiles gSpriteImage_8E98BE8, 0x100 - obj_frame_tiles gSpriteImage_8E98CE8, 0x100 - - .align 2 -gSpriteImageTable_83ED150:: @ 83ED150 - obj_frame_tiles gSpriteImage_8E993E8, 0x400 - - .align 2 -gSpriteImageTable_83ED158:: @ 83ED158 - obj_frame_tiles gSpriteImage_8E98DE8, 0x200 - obj_frame_tiles gSpriteImage_8E98FE8, 0x200 - - .align 2 -gSpriteImageTable_83ED168:: @ 83ED168 - obj_frame_tiles gSpriteImage_8E98848, 0x20 - - .align 2 -gSpriteImageTable_83ED170:: @ 83ED170 - obj_frame_tiles gSpriteImage_8E98868, 0x80 - - .align 2 -gSpriteImageTable_83ED178:: @ 83ED178 - obj_frame_tiles gSharedMem + 0x10000, 0x600 - - .align 2 -gSpriteImageTable_83ED180:: @ 83ED180 - obj_frame_tiles gSharedMem + 0x10600, 0x200 - - .align 2 -gSpriteImageTable_83ED188:: @ 83ED188 - obj_frame_tiles gSharedMem + 0x10800, 0x200 - - .align 2 -gSpriteImageTable_83ED190:: @ 83ED190 - obj_frame_tiles gSharedMem + 0x10A00, 0x200 - - .align 2 -gSpriteImageTable_83ED198:: @ 83ED198 - obj_frame_tiles gSharedMem + 0x10C00, 0x300 - - .align 2 -gSpriteImageTable_83ED1A0:: @ 83ED1A0 - obj_frame_tiles gSharedMem + 0x11000, 0x400 - - .align 2 -gSpriteImageTable_83ED1A8:: @ 83ED1A8 - obj_frame_tiles gSharedMem + 0x11400, 0x200 - - .align 2 -gSpriteImageTable_83ED1B0:: @ 83ED1B0 - obj_frame_tiles gSharedMem + 0x11600, 0x300 - - .align 2 -gSpriteImageTable_83ED1B8:: @ 83ED1B8 - obj_frame_tiles gSharedMem + 0x11900, 0x300 - - .align 2 -gSpriteImageTable_83ED1C0:: @ 83ED1C0 - obj_frame_tiles gSharedMem + 0x11C00, 0x200 - obj_frame_tiles gSharedMem + 0x11E00, 0x200 - obj_frame_tiles gSharedMem + 0x11E00, 0x200 @ is this a typo? - - .align 2 -gSpriteImageTable_83ED1D8:: @ 83ED1D8 - obj_frame_tiles gSharedMem + 0x12000, 0x280 - - .align 2 -gSpriteImageTable_83ED1E0:: @ 83ED1E0 - obj_frame_tiles gSharedMem + 0x12280, 0x80 - obj_frame_tiles gSharedMem + 0x12300, 0x80 - obj_frame_tiles gSharedMem + 0x12380, 0x80 - obj_frame_tiles gSharedMem + 0x12400, 0x80 - obj_frame_tiles gSharedMem + 0x12480, 0x80 - - .align 2 -gSpriteImageTable_83ED208:: @ 83ED208 - obj_frame_tiles gSharedMem + 0x12600, 0x480 - obj_frame_tiles gSharedMem + 0x12A80, 0x480 - - .align 2 -gSpriteImageTable_83ED218:: @ 83ED218 - obj_frame_tiles gSharedMem + 0x12F00, 0x180 - obj_frame_tiles gSharedMem + 0x13080, 0x180 - - .align 2 -gSpriteImageTable_83ED228:: @ 83ED228 - obj_frame_tiles gSpriteImage_8E98828, 0x20 - .align 2 gSpriteAnim_83ED230:: @ 83ED230 obj_image_anim_frame 0, 1 diff --git a/include/ewram.h b/include/ewram.h index 9d3002615..7b480a0e8 100755 --- a/include/ewram.h +++ b/include/ewram.h @@ -78,6 +78,7 @@ extern u8 gSharedMem[]; #define ewram12000 (&gSharedMem[0x12000]) #define ewram12800 (&gSharedMem[0x12800]) #define ewram13000 (&gSharedMem[0x13000]) +#define ewram13200 (&gSharedMem[0x13200]) #define ewram13800 (&gSharedMem[0x13800]) #define EWRAM_14000 ((u8 *)(gSharedMem + 0x14000)) #define ewram14000 (&gSharedMem[0x14000]) diff --git a/include/graphics.h b/include/graphics.h index 488de07c0..9db35862c 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2656,4 +2656,21 @@ extern const u8 gNamingScreenRightPointingTriangleTiles[]; extern const u8 gNamingScreenUnderscoreTiles[]; extern const u16 gNamingScreenPalettes[][16]; +extern const u8 gSpriteImage_8E988E8[]; +extern const u8 gSpriteImage_8E98968[]; +extern const u8 gSpriteImage_8E989E8[]; +extern const u8 gSpriteImage_8E98A68[]; +extern const u8 gSpriteImage_8E98AE8[]; +extern const u8 gSpriteImage_8E98B68[]; +extern const u8 gSpriteImage_8E991E8[]; +extern const u8 gSpriteImage_8E99808[]; +extern const u8 gSpriteImage_8E98BE8[]; +extern const u8 gSpriteImage_8E98CE8[]; +extern const u8 gSpriteImage_8E993E8[]; +extern const u8 gSpriteImage_8E98DE8[]; +extern const u8 gSpriteImage_8E98FE8[]; +extern const u8 gSpriteImage_8E98848[]; +extern const u8 gSpriteImage_8E98868[]; +extern const u8 gSpriteImage_8E98828[]; + #endif // GUARD_GRAPHICS_H diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 1e440cba8..43eb6e53a 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -10,6 +10,7 @@ #include "slot_machine.h" #include "decompress.h" #include "trig.h" +#include "graphics.h" #include "palette.h" #include "task.h" #include "util.h" @@ -4017,7 +4018,7 @@ void sub_81063C0(void) { sub_8106404(); LZDecompressWram(gSlotMachineReelTimeLights_Gfx, ewram10000); - LZDecompressWram(gUnknown_083EDE8C, ewram10000 + 0x3200); + LZDecompressWram(gUnknown_083EDE8C, ewram13200); LoadSpriteSheets(gUnknown_083EDC2C); LoadSpritePalettes(gSlotMachineSpritePalettes); } @@ -4511,3 +4512,130 @@ const struct OamData gOamData_83ED0B8 = { .paletteNum = 0, .affineParam = 0 }; + +const struct SpriteFrameImage gSpriteImageTable_83ED0C0[] = { + {ewram13200 + 0x0000, 0x800}, + {ewram13200 + 0x0800, 0x800}, + {ewram13200 + 0x1000, 0x800}, + {ewram13200 + 0x1800, 0x800}, + {ewram13200 + 0x2000, 0x800} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED0E8[] = { + {ewram13200 + 0x2800, 0x300} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED0F0[] = { + {ewram13200 + 0x2B00, 0x500} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED0F8[] = { + {ewram13200 + 0x3000, 0x600} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED100[] = { + {gSpriteImage_8E988E8, 0x80}, + {gSpriteImage_8E98968, 0x80}, + {gSpriteImage_8E989E8, 0x80}, + {gSpriteImage_8E98A68, 0x80}, + {gSpriteImage_8E98AE8, 0x80}, + {gSpriteImage_8E98B68, 0x80} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED130[] = { + {gSpriteImage_8E991E8, 0x200} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED138[] = { + {gSpriteImage_8E99808, 0x40} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED140[] = { + {gSpriteImage_8E98BE8, 0x100}, + {gSpriteImage_8E98CE8, 0x100} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED150[] = { + {gSpriteImage_8E993E8, 0x400} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED158[] = { + {gSpriteImage_8E98DE8, 0x200}, + {gSpriteImage_8E98FE8, 0x200} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED168[] = { + {gSpriteImage_8E98848, 0x20} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED170[] = { + {gSpriteImage_8E98868, 0x80} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED178[] = { + {ewram10000 + 0x0000, 0x600} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED180[] = { + {ewram10000 + 0x0600, 0x200} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED188[] = { + {ewram10000 + 0x0800, 0x200} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED190[] = { + {ewram10000 + 0x0A00, 0x200} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED198[] = { + {ewram10000 + 0x0C00, 0x300} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1A0[] = { + {ewram10000 + 0x1000, 0x400} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1A8[] = { + {ewram10000 + 0x1400, 0x200} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1B0[] = { + {ewram10000 + 0x1600, 0x300} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1B8[] = { + {ewram10000 + 0x1900, 0x300} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1C0[] = { + {ewram10000 + 0x1C00, 0x200}, + {ewram10000 + 0x1E00, 0x200}, + {ewram10000 + 0x1E00, 0x200} // is this a typo? +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1D8[] = { + {ewram10000 + 0x2000, 0x280} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED1E0[] = { + {ewram10000 + 0x2280, 0x80}, + {ewram10000 + 0x2300, 0x80}, + {ewram10000 + 0x2380, 0x80}, + {ewram10000 + 0x2400, 0x80}, + {ewram10000 + 0x2480, 0x80} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED208[] = { + {ewram10000 + 0x2600, 0x480}, + {ewram10000 + 0x2A80, 0x480} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED218[] = { + {ewram10000 + 0x2F00, 0x180}, + {ewram10000 + 0x3080, 0x180} +}; + +const struct SpriteFrameImage gSpriteImageTable_83ED228[] = { + {gSpriteImage_8E98828, 0x20} +}; -- cgit v1.2.3 From e6f56f2936bfe98da65514291bf9ee6412190b31 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 12:17:54 -0500 Subject: data through gSpriteTemplate_83ED6CC --- data/slot_machine.s | 346 ---------------------------------------------- src/field/slot_machine.c | 347 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 347 insertions(+), 346 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index ffc54f75e..ef1459851 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,352 +3,6 @@ .section .rodata - .align 2 -gSpriteAnim_83ED230:: @ 83ED230 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED238:: @ 83ED238 - obj_image_anim_frame 0, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED240:: @ 83ED240 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED248:: @ 83ED248 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED254:: @ 83ED254 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED260:: @ 83ED260 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED26C:: @ 83ED26C - obj_image_anim_frame 2, 32 - obj_image_anim_frame 3, 32 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED278:: @ 83ED278 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED280:: @ 83ED280 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED288:: @ 83ED288 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED290:: @ 83ED290 - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED298:: @ 83ED298 - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2A0:: @ 83ED2A0 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2A8:: @ 83ED2A8 - obj_image_anim_frame 5, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2B0:: @ 83ED2B0 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2BC:: @ 83ED2BC - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2C8:: @ 83ED2C8 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2D4:: @ 83ED2D4 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2DC:: @ 83ED2DC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2E8:: @ 83ED2E8 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2FC:: @ 83ED2FC - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED304:: @ 83ED304 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED30C:: @ 83ED30C - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED314:: @ 83ED314 - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED31C:: @ 83ED31C - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED324:: @ 83ED324 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83ED32C:: @ 83ED32C - .4byte gSpriteAnim_83ED230 - - .align 2 -gSpriteAnimTable_83ED330:: @ 83ED330 - .4byte gSpriteAnim_83ED238 - - .align 2 -gSpriteAnimTable_83ED334:: @ 83ED334 - .4byte gSpriteAnim_83ED240 - .4byte gSpriteAnim_83ED248 - .4byte gSpriteAnim_83ED254 - .4byte gSpriteAnim_83ED260 - .4byte gSpriteAnim_83ED26C - .4byte gSpriteAnim_83ED278 - - .align 2 -gSpriteAnimTable_83ED34C:: @ 83ED34C - .4byte gSpriteAnim_83ED280 - .4byte gSpriteAnim_83ED288 - .4byte gSpriteAnim_83ED290 - .4byte gSpriteAnim_83ED298 - .4byte gSpriteAnim_83ED2A0 - .4byte gSpriteAnim_83ED2A8 - - .align 2 -gSpriteAnimTable_83ED364:: @ 83ED364 - .4byte gSpriteAnim_83ED2B0 - - .align 2 -gSpriteAnimTable_83ED368:: @ 83ED368 - .4byte gSpriteAnim_83ED2BC - - .align 2 -gSpriteAnimTable_83ED36C:: @ 83ED36C - .4byte gSpriteAnim_83ED2C8 - .4byte gSpriteAnim_83ED2D4 - - .align 2 -gSpriteAnimTable_83ED374:: @ 83ED374 - .4byte gSpriteAnim_83ED2DC - - .align 2 -gSpriteAnimTable_83ED378:: @ 83ED378 - .4byte gSpriteAnim_83ED2E8 - .4byte gSpriteAnim_83ED2FC - - .align 2 -gSpriteAnimTable_83ED380:: @ 83ED380 - .4byte gSpriteAnim_83ED304 - .4byte gSpriteAnim_83ED30C - .4byte gSpriteAnim_83ED314 - .4byte gSpriteAnim_83ED31C - .4byte gSpriteAnim_83ED324 - - .align 2 -gSpriteAffineAnim_83ED394:: @ 83ED394 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0x1, 0x1, 0, 1 - obj_rot_scal_anim_loop 255 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83ED3BC:: @ 83ED3BC - .4byte gSpriteAffineAnim_83ED394 - - .align 2 -gSpriteAffineAnim_83ED3C0:: @ 83ED3C0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 6, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83ED410:: @ 83ED410 - .4byte gSpriteAffineAnim_83ED3C0 - - .align 2 -gSpriteTemplate_83ED414:: @ 83ED414 - spr_template 0, 0, gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18 - - .align 2 -gSpriteTemplate_83ED42C:: @ 83ED42C - spr_template 7, 4, gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C - - .align 2 -gSpriteTemplate_83ED444:: @ 83ED444 - spr_template 17, 0, gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED45C:: @ 83ED45C - spr_template 0xFFFF, 1, gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170 - - .align 2 -gSpriteTemplate_83ED474:: @ 83ED474 - spr_template 0xFFFF, 2, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED48C:: @ 83ED48C - spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED4A4:: @ 83ED4A4 - spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED4BC:: @ 83ED4BC - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C - - .align 2 -gSpriteTemplate_83ED4D4:: @ 83ED4D4 - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED4EC:: @ 83ED4EC - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED504:: @ 83ED504 - spr_template 0xFFFF, 4, gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C - - .align 2 -gSpriteTemplate_83ED51C:: @ 83ED51C - spr_template 0xFFFF, 7, gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784 - - .align 2 -gSpriteTemplate_83ED534:: @ 83ED534 - spr_template 0xFFFF, 5, gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894 - - .align 2 -gSpriteTemplate_83ED54C:: @ 83ED54C - spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C - - .align 2 -gSpriteTemplate_83ED564:: @ 83ED564 - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38 - - .align 2 -gSpriteTemplate_83ED57C:: @ 83ED57C - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED594:: @ 83ED594 - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5AC:: @ 83ED5AC - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5C4:: @ 83ED5C4 - spr_template 18, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5DC:: @ 83ED5DC - spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5F4:: @ 83ED5F4 - spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED60C:: @ 83ED60C - spr_template 19, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED624:: @ 83ED624 - spr_template 20, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED63C:: @ 83ED63C - spr_template 21, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED654:: @ 83ED654 - spr_template 0xFFFF, 6, gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED66C:: @ 83ED66C - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED684:: @ 83ED684 - spr_template 0xFFFF, 6, gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED69C:: @ 83ED69C - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED6B4:: @ 83ED6B4 - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED6CC:: @ 83ED6CC - spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70 - .align 2 gSubspriteTable_83ED6E4:: @ 83ED6E4 subsprite -64, -64, 3, 0, 64x64 diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 43eb6e53a..493db1fa1 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -4639,3 +4639,350 @@ const struct SpriteFrameImage gSpriteImageTable_83ED218[] = { const struct SpriteFrameImage gSpriteImageTable_83ED228[] = { {gSpriteImage_8E98828, 0x20} }; + +const union AnimCmd gSpriteAnim_83ED230[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED238[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED240[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED248[] = { + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED254[] = { + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED260[] = { + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED26C[] = { + ANIMCMD_FRAME(2, 32), + ANIMCMD_FRAME(3, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED278[] = { + ANIMCMD_FRAME(4, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED280[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED288[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED290[] = { + ANIMCMD_FRAME(2, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED298[] = { + ANIMCMD_FRAME(3, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED2A0[] = { + ANIMCMD_FRAME(4, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED2A8[] = { + ANIMCMD_FRAME(5, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED2B0[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED2BC[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED2C8[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED2D4[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED2DC[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED2E8[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83ED2FC[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED304[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED30C[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED314[] = { + ANIMCMD_FRAME(2, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED31C[] = { + ANIMCMD_FRAME(3, 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83ED324[] = { + ANIMCMD_FRAME(4, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83ED32C[] = { + gSpriteAnim_83ED230 +}; + +const union AnimCmd *const gSpriteAnimTable_83ED330[] = { + gSpriteAnim_83ED238 +}; + +const union AnimCmd *const gSpriteAnimTable_83ED334[] = { + gSpriteAnim_83ED240, + gSpriteAnim_83ED248, + gSpriteAnim_83ED254, + gSpriteAnim_83ED260, + gSpriteAnim_83ED26C, + gSpriteAnim_83ED278 +}; + +const union AnimCmd *const gSpriteAnimTable_83ED34C[] = { + gSpriteAnim_83ED280, + gSpriteAnim_83ED288, + gSpriteAnim_83ED290, + gSpriteAnim_83ED298, + gSpriteAnim_83ED2A0, + gSpriteAnim_83ED2A8 +}; + +const union AnimCmd *const gSpriteAnimTable_83ED364[] = { + gSpriteAnim_83ED2B0 +}; + +const union AnimCmd *const gSpriteAnimTable_83ED368[] = { + gSpriteAnim_83ED2BC +}; + +const union AnimCmd *const gSpriteAnimTable_83ED36C[] = { + gSpriteAnim_83ED2C8, + gSpriteAnim_83ED2D4 +}; + +const union AnimCmd *const gSpriteAnimTable_83ED374[] = { + gSpriteAnim_83ED2DC +}; + +const union AnimCmd *const gSpriteAnimTable_83ED378[] = { + gSpriteAnim_83ED2E8, + gSpriteAnim_83ED2FC +}; + +const union AnimCmd *const gSpriteAnimTable_83ED380[] = { + gSpriteAnim_83ED304, + gSpriteAnim_83ED30C, + gSpriteAnim_83ED314, + gSpriteAnim_83ED31C, + gSpriteAnim_83ED324 +}; + +const union AffineAnimCmd gSpriteAffineAnim_83ED394[] = { + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0x1, 0x1, 0, 1), + AFFINEANIMCMD_LOOP(255), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83ED3BC[] = { + gSpriteAffineAnim_83ED394 +}; + +const union AffineAnimCmd gSpriteAffineAnim_83ED3C0[] = { + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 32), + AFFINEANIMCMD_FRAME(0x0, 0x0, 6, 32), + AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, 12, 2), + AFFINEANIMCMD_FRAME(0x0, 0x0, -12, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 12, 2), + AFFINEANIMCMD_FRAME(0x0, 0x0, 12, 2), + AFFINEANIMCMD_FRAME(0x0, 0x0, -12, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 12, 2), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83ED410[] = { + gSpriteAffineAnim_83ED3C0 +}; + +const struct SpriteTemplate gSpriteTemplate_83ED414 = { + 0, 0, &gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18 +}; + +const struct SpriteTemplate gSpriteTemplate_83ED42C = { + 7, 4, &gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C +}; + +const struct SpriteTemplate gSpriteTemplate_83ED444 = { + 17, 0, &gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED45C = { + 0xFFFF, 1, &gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170 +}; + +const struct SpriteTemplate gSpriteTemplate_83ED474 = { + 0xFFFF, 2, &gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED48C = { + 0xFFFF, 3, &gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED4A4 = { + 0xFFFF, 3, &gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED4BC = { + 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C +}; + +const struct SpriteTemplate gSpriteTemplate_83ED4D4 = { + 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED4EC = { + 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED504 = { + 0xFFFF, 4, &gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C +}; + +const struct SpriteTemplate gSpriteTemplate_83ED51C = { + 0xFFFF, 7, &gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784 +}; + +const struct SpriteTemplate gSpriteTemplate_83ED534 = { + 0xFFFF, 5, &gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894 +}; + +const struct SpriteTemplate gSpriteTemplate_83ED54C = { + 0xFFFF, 4, &gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C +}; + +const struct SpriteTemplate gSpriteTemplate_83ED564 = { + 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38 +}; + +const struct SpriteTemplate gSpriteTemplate_83ED57C = { + 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED594 = { + 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED5AC = { + 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED5C4 = { + 18, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED5DC = { + 0xFFFF, 6, &gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED5F4 = { + 0xFFFF, 6, &gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED60C = { + 19, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED624 = { + 20, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED63C = { + 21, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED654 = { + 0xFFFF, 6, &gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED66C = { + 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED684 = { + 0xFFFF, 6, &gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED69C = { + 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED6B4 = { + 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83ED6CC = { + 0xFFFF, 4, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70 +}; + -- cgit v1.2.3 From d1b6882fb2ddad468a1dfd19493b0bada58d6103 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 12:36:14 -0500 Subject: data through gSubspriteTables_83EDB54 --- data/slot_machine.s | 320 ---------------------------------------------- src/field/slot_machine.c | 321 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 321 insertions(+), 320 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index ef1459851..391bdf05d 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,326 +3,6 @@ .section .rodata - .align 2 -gSubspriteTable_83ED6E4:: @ 83ED6E4 - subsprite -64, -64, 3, 0, 64x64 - subsprite 0, -64, 3, 0, 64x64 - subsprite -64, 0, 3, 0, 64x64 - subsprite 0, 0, 3, 0, 64x64 - - .align 2 -gSubspriteTables_83ED704:: @ 83ED704 - .4byte 4, gSubspriteTable_83ED6E4 - - .align 2 -gSubspriteTable_83ED70C:: @ 83ED70C - subsprite -32, -12, 1, 0, 32x8 - subsprite 0, -12, 1, 4, 32x8 - subsprite -32, -4, 1, 8, 32x8 - subsprite 0, -4, 1, 12, 32x8 - subsprite -32, 4, 1, 16, 32x8 - subsprite 0, 4, 1, 20, 32x8 - - .align 2 -gSubspriteTables_83ED73C:: @ 83ED73C - .4byte 6, gSubspriteTable_83ED70C - - .align 2 -gSubspriteTable_83ED744:: @ 83ED744 - subsprite -32, -20, 1, 0, 64x32 - subsprite -32, 12, 1, 32, 32x8 - subsprite 0, 12, 1, 36, 32x8 - - .align 2 -gSubspriteTables_83ED75C:: @ 83ED75C - .4byte 3, gSubspriteTable_83ED744 - - .align 2 -gSubspriteTable_83ED764:: @ 83ED764 - subsprite -32, -24, 1, 0, 64x32 - subsprite -32, 8, 1, 32, 32x8 - subsprite 0, 8, 1, 36, 32x8 - subsprite -32, 16, 1, 40, 32x8 - subsprite 0, 16, 1, 44, 32x8 - - .align 2 -gSubspriteTables_83ED78C:: @ 83ED78C - .4byte 5, gSubspriteTable_83ED764 - - .align 2 -gSubspriteTable_83ED794:: @ 83ED794 - subsprite -32, -8, 1, 0, 32x8 - subsprite 0, -8, 1, 4, 32x8 - subsprite -32, 0, 1, 8, 32x8 - subsprite 0, 0, 1, 12, 32x8 - - .align 2 -gSubspriteTables_83ED7B4:: @ 83ED7B4 - .4byte 4, gSubspriteTable_83ED794 - - .align 2 -gSubspriteTable_83ED7BC:: @ 83ED7BC - subsprite -8, -12, 1, 0, 16x8 - subsprite -8, -4, 1, 0, 16x8 - subsprite -8, 4, 1, 0, 16x8 - - .align 2 -gSubspriteTables_83ED7D4:: @ 83ED7D4 - .4byte 3, gSubspriteTable_83ED7BC - - .align 2 -gSubspriteTable_83ED7DC:: @ 83ED7DC - subsprite -32, -24, 3, 0, 64x32 - subsprite -32, 8, 3, 32, 32x8 - subsprite 0, 8, 3, 36, 32x8 - subsprite -32, 16, 3, 40, 32x8 - subsprite 0, 16, 3, 44, 32x8 - - .align 2 -gSubspriteTables_83ED804:: @ 83ED804 - .4byte 5, gSubspriteTable_83ED7DC - - .align 2 -gSubspriteTable_83ED80C:: @ 83ED80C - subsprite -32, -8, 3, 0, 32x8 - subsprite 0, -8, 3, 4, 32x8 - subsprite -32, 0, 3, 8, 32x8 - subsprite 0, 0, 3, 12, 32x8 - - .align 2 -gSubspriteTables_83ED82C:: @ 83ED82C - .4byte 4, gSubspriteTable_83ED80C - - .align 2 -gSubspriteTable_83ED834:: @ 83ED834 - subsprite -32, -8, 3, 0, 32x8 - subsprite 0, -8, 3, 4, 32x8 - subsprite -32, 0, 3, 8, 32x8 - subsprite 0, 0, 3, 12, 32x8 - - .align 2 -gSubspriteTables_83ED854:: @ 83ED854 - .4byte 4, gSubspriteTable_83ED834 - - .align 2 -gSubspriteTable_83ED85C:: @ 83ED85C - subsprite -32, -8, 3, 0, 32x8 - subsprite 0, -8, 3, 4, 32x8 - subsprite -32, 0, 3, 8, 32x8 - subsprite 0, 0, 3, 12, 32x8 - - .align 2 -gSubspriteTables_83ED87C:: @ 83ED87C - .4byte 4, gSubspriteTable_83ED85C - - .align 2 -gSubspriteTable_83ED884:: @ 83ED884 - subsprite -32, -12, 3, 0, 32x8 - subsprite 0, -12, 3, 4, 32x8 - subsprite -32, -4, 3, 8, 32x8 - subsprite 0, -4, 3, 12, 32x8 - subsprite -32, 4, 3, 16, 32x8 - subsprite 0, 4, 3, 20, 32x8 - - .align 2 -gSubspriteTables_83ED8B4:: @ 83ED8B4 - .4byte 6, gSubspriteTable_83ED884 - - .align 2 -gSubspriteTable_83ED8BC:: @ 83ED8BC - subsprite -16, -16, 3, 0, 32x32 - - .align 2 -gSubspriteTable_83ED8C4:: @ 83ED8C4 - subsprite -8, -8, 3, 16, 16x16 - - .align 2 -gSubspriteTables_83ED8CC:: @ 83ED8CC - .4byte 1, gSubspriteTable_83ED8BC - .4byte 1, gSubspriteTable_83ED8C4 - - .align 2 -gSubspriteTable_83ED8DC:: @ 83ED8DC - subsprite -24, -24, 3, 0, 32x8 - subsprite 8, -24, 3, 4, 16x8 - subsprite -24, -16, 3, 6, 32x8 - subsprite 8, -16, 3, 10, 16x8 - subsprite -24, -8, 3, 12, 32x8 - subsprite 8, -8, 3, 16, 16x8 - subsprite -24, 0, 3, 18, 32x8 - subsprite 8, 0, 3, 22, 16x8 - subsprite -24, 8, 3, 24, 32x8 - subsprite 8, 8, 3, 28, 16x8 - subsprite -24, 16, 3, 30, 32x8 - subsprite 8, 16, 3, 34, 16x8 - - .align 2 -gSubspriteTables_83ED93C:: @ 83ED93C - .4byte 12, gSubspriteTable_83ED8DC - - .align 2 -gSubspriteTable_83ED944:: @ 83ED944 - subsprite -16, -12, 3, 0, 32x16 - subsprite -16, 4, 3, 8, 16x8 - subsprite 0, 4, 3, 10, 16x8 - - .align 2 -gSubspriteTables_83ED95C:: @ 83ED95C - .4byte 3, gSubspriteTable_83ED944 - - .align 2 -gSubspriteTable_83ED964:: @ 83ED964 - subsprite -8, -8, 3, 0, 16x8 - subsprite -8, 0, 3, 8, 16x8 - - .align 2 -gSubspriteTables_83ED974:: @ 83ED974 - .4byte 2, gSubspriteTable_83ED964 - - .align 2 -gSubspriteTable_83ED97C:: @ 83ED97C - subsprite -8, -8, 3, 2, 16x8 - subsprite -8, 0, 3, 10, 16x8 - - .align 2 -gSubspriteTables_83ED98C:: @ 83ED98C - .4byte 2, gSubspriteTable_83ED97C - - .align 2 -gSubspriteTable_83ED994:: @ 83ED994 - subsprite -8, -8, 3, 4, 16x8 - subsprite -8, 0, 3, 12, 16x8 - - .align 2 -gSubspriteTables_83ED9A4:: @ 83ED9A4 - .4byte 2, gSubspriteTable_83ED994 - - .align 2 -gSubspriteTable_83ED9AC:: @ 83ED9AC - subsprite -8, -8, 3, 6, 16x8 - subsprite -8, 0, 3, 14, 16x8 - - .align 2 -gSubspriteTables_83ED9BC:: @ 83ED9BC - .4byte 2, gSubspriteTable_83ED9AC - - .align 2 -gSubspriteTable_83ED9C4:: @ 83ED9C4 - subsprite -8, -8, 3, 0, 16x8 - subsprite -8, 0, 3, 8, 16x8 - - .align 2 -gSubspriteTables_83ED9D4:: @ 83ED9D4 - .4byte 2, gSubspriteTable_83ED9C4 - - .align 2 -gSubspriteTable_83ED9DC:: @ 83ED9DC - subsprite -4, -8, 3, 2, 8x8 - subsprite -4, 0, 3, 10, 8x8 - - .align 2 -gSubspriteTables_83ED9EC:: @ 83ED9EC - .4byte 2, gSubspriteTable_83ED9DC - - .align 2 -gSubspriteTable_83ED9F4:: @ 83ED9F4 - subsprite -8, -8, 3, 3, 16x8 - subsprite -8, 0, 3, 11, 16x8 - - .align 2 -gSubspriteTables_83EDA04:: @ 83EDA04 - .4byte 2, gSubspriteTable_83ED9F4 - - .align 2 -gSubspriteTable_83EDA0C:: @ 83EDA0C - subsprite -4, -8, 3, 5, 8x8 - subsprite -4, 0, 3, 13, 8x8 - - .align 2 -gSubspriteTables_83EDA1C:: @ 83EDA1C - .4byte 2, gSubspriteTable_83EDA0C - - .align 2 -gSubspriteTable_83EDA24:: @ 83EDA24 - subsprite -8, -8, 3, 6, 16x8 - subsprite -8, 0, 3, 14, 16x8 - - .align 2 -gSubspriteTables_83EDA34:: @ 83EDA34 - .4byte 2, gSubspriteTable_83EDA24 - - .align 2 -gSubspriteTable_83EDA3C:: @ 83EDA3C - subsprite -12, -12, 3, 0, 16x8 - subsprite 4, -12, 3, 2, 8x8 - subsprite -12, -4, 3, 8, 16x8 - subsprite 4, -4, 3, 10, 8x8 - subsprite -12, 4, 3, 16, 16x8 - subsprite 4, 4, 3, 18, 8x8 - - .align 2 -gSubspriteTables_83EDA6C:: @ 83EDA6C - .4byte 6, gSubspriteTable_83EDA3C - - .align 2 -gSubspriteTable_83EDA74:: @ 83EDA74 - subsprite -8, -12, 3, 3, 16x8 - subsprite -8, -4, 3, 11, 16x8 - subsprite -8, 4, 3, 19, 16x8 - - .align 2 -gSubspriteTables_83EDA8C:: @ 83EDA8C - .4byte 3, gSubspriteTable_83EDA74 - - .align 2 -gSubspriteTable_83EDA94:: @ 83EDA94 - subsprite -12, -12, 3, 5, 16x8 - subsprite 4, -12, 3, 7, 8x8 - subsprite -12, -4, 3, 13, 16x8 - subsprite 4, -4, 3, 15, 8x8 - subsprite -12, 4, 3, 21, 16x8 - subsprite 4, 4, 3, 23, 8x8 - - .align 2 -gSubspriteTables_83EDAC4:: @ 83EDAC4 - .4byte 6, gSubspriteTable_83EDA94 - - .align 2 -gSubspriteTable_83EDACC:: @ 83EDACC - subsprite -12, -12, 3, 0, 16x8 - subsprite 4, -12, 3, 2, 8x8 - subsprite -12, -4, 3, 8, 16x8 - subsprite 4, -4, 3, 10, 8x8 - subsprite -12, 4, 3, 16, 16x8 - subsprite 4, 4, 3, 18, 8x8 - - .align 2 -gSubspriteTables_83EDAFC:: @ 83EDAFC - .4byte 6, gSubspriteTable_83EDACC - - .align 2 -gSubspriteTable_83EDB04:: @ 83EDB04 - subsprite -8, -12, 3, 3, 16x8 - subsprite -8, -4, 3, 11, 16x8 - subsprite -8, 4, 3, 19, 16x8 - - .align 2 -gSubspriteTables_83EDB1C:: @ 83EDB1C - .4byte 3, gSubspriteTable_83EDB04 - - .align 2 -gSubspriteTable_83EDB24:: @ 83EDB24 - subsprite -12, -12, 3, 5, 16x8 - subsprite 4, -12, 3, 7, 8x8 - subsprite -12, -4, 3, 13, 16x8 - subsprite 4, -4, 3, 15, 8x8 - subsprite -12, 4, 3, 21, 16x8 - subsprite 4, 4, 3, 23, 8x8 - - .align 2 -gSubspriteTables_83EDB54:: @ 83EDB54 - .4byte 6, gSubspriteTable_83EDB24 - .align 2 gUnknown_083EDB5C:: @ 83EDB5C .4byte gSpriteTemplate_83ED57C diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 493db1fa1..bff4e6a96 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -4986,3 +4986,324 @@ const struct SpriteTemplate gSpriteTemplate_83ED6CC = { 0xFFFF, 4, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70 }; +const struct Subsprite gSubspriteTable_83ED6E4[] = { + {-64, -64, ST_OAM_SQUARE, 3, 0x0, 3}, + {0, -64, ST_OAM_SQUARE, 3, 0x0, 3}, + {-64, 0, ST_OAM_SQUARE, 3, 0x0, 3}, + {0, 0, ST_OAM_SQUARE, 3, 0x0, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED704[] = { + {4, gSubspriteTable_83ED6E4} +}; + +const struct Subsprite gSubspriteTable_83ED70C[] = { + {-32, -12, ST_OAM_H_RECTANGLE, 1, 0x0, 1}, + {0, -12, ST_OAM_H_RECTANGLE, 1, 0x4, 1}, + {-32, -4, ST_OAM_H_RECTANGLE, 1, 0x8, 1}, + {0, -4, ST_OAM_H_RECTANGLE, 1, 0xc, 1}, + {-32, 4, ST_OAM_H_RECTANGLE, 1, 0x10, 1}, + {0, 4, ST_OAM_H_RECTANGLE, 1, 0x14, 1} +}; + +const struct SubspriteTable gSubspriteTables_83ED73C[] = { + {6, gSubspriteTable_83ED70C} +}; + +const struct Subsprite gSubspriteTable_83ED744[] = { + {-32, -20, ST_OAM_H_RECTANGLE, 3, 0x0, 1}, + {-32, 12, ST_OAM_H_RECTANGLE, 1, 0x20, 1}, + {0, 12, ST_OAM_H_RECTANGLE, 1, 0x24, 1} +}; + +const struct SubspriteTable gSubspriteTables_83ED75C[] = { + {3, gSubspriteTable_83ED744} +}; + +const struct Subsprite gSubspriteTable_83ED764[] = { + {-32, -24, ST_OAM_H_RECTANGLE, 3, 0x0, 1}, + {-32, 8, ST_OAM_H_RECTANGLE, 1, 0x20, 1}, + {0, 8, ST_OAM_H_RECTANGLE, 1, 0x24, 1}, + {-32, 16, ST_OAM_H_RECTANGLE, 1, 0x28, 1}, + {0, 16, ST_OAM_H_RECTANGLE, 1, 0x2c, 1} +}; + +const struct SubspriteTable gSubspriteTables_83ED78C[] = { + {5, gSubspriteTable_83ED764} +}; + +const struct Subsprite gSubspriteTable_83ED794[] = { + {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 1}, + {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 1}, + {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 1}, + {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 1} +}; + +const struct SubspriteTable gSubspriteTables_83ED7B4[] = { + {4, gSubspriteTable_83ED794} +}; + +const struct Subsprite gSubspriteTable_83ED7BC[] = { + {-8, -12, ST_OAM_H_RECTANGLE, 0, 0x0, 1}, + {-8, -4, ST_OAM_H_RECTANGLE, 0, 0x0, 1}, + {-8, 4, ST_OAM_H_RECTANGLE, 0, 0x0, 1} +}; + +const struct SubspriteTable gSubspriteTables_83ED7D4[] = { + {3, gSubspriteTable_83ED7BC} +}; + +const struct Subsprite gSubspriteTable_83ED7DC[] = { + {-32, -24, ST_OAM_H_RECTANGLE, 3, 0x0, 3}, + {-32, 8, ST_OAM_H_RECTANGLE, 1, 0x20, 3}, + {0, 8, ST_OAM_H_RECTANGLE, 1, 0x24, 3}, + {-32, 16, ST_OAM_H_RECTANGLE, 1, 0x28, 3}, + {0, 16, ST_OAM_H_RECTANGLE, 1, 0x2c, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED804[] = { + {5, gSubspriteTable_83ED7DC} +}; + +const struct Subsprite gSubspriteTable_83ED80C[] = { + {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, + {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, + {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, + {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED82C[] = { + {4, gSubspriteTable_83ED80C} +}; + +const struct Subsprite gSubspriteTable_83ED834[] = { + {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, + {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, + {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, + {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED854[] = { + {4, gSubspriteTable_83ED834} +}; + +const struct Subsprite gSubspriteTable_83ED85C[] = { + {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, + {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, + {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, + {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED87C[] = { + {4, gSubspriteTable_83ED85C} +}; + +const struct Subsprite gSubspriteTable_83ED884[] = { + {-32, -12, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, + {0, -12, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, + {-32, -4, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, + {0, -4, ST_OAM_H_RECTANGLE, 1, 0xc, 3}, + {-32, 4, ST_OAM_H_RECTANGLE, 1, 0x10, 3}, + {0, 4, ST_OAM_H_RECTANGLE, 1, 0x14, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED8B4[] = { + {6, gSubspriteTable_83ED884} +}; + +const struct Subsprite gSubspriteTable_83ED8BC[] = { + {-16, -16, ST_OAM_SQUARE, 2, 0x0, 3} +}; + +const struct Subsprite gSubspriteTable_83ED8C4[] = { + {-8, -8, ST_OAM_SQUARE, 1, 0x10, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED8CC[] = { + {1, gSubspriteTable_83ED8BC}, + {1, gSubspriteTable_83ED8C4} +}; + +const struct Subsprite gSubspriteTable_83ED8DC[] = { + {-24, -24, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, + {8, -24, ST_OAM_H_RECTANGLE, 0, 0x4, 3}, + {-24, -16, ST_OAM_H_RECTANGLE, 1, 0x6, 3}, + {8, -16, ST_OAM_H_RECTANGLE, 0, 0xa, 3}, + {-24, -8, ST_OAM_H_RECTANGLE, 1, 0xc, 3}, + {8, -8, ST_OAM_H_RECTANGLE, 0, 0x10, 3}, + {-24, 0, ST_OAM_H_RECTANGLE, 1, 0x12, 3}, + {8, 0, ST_OAM_H_RECTANGLE, 0, 0x16, 3}, + {-24, 8, ST_OAM_H_RECTANGLE, 1, 0x18, 3}, + {8, 8, ST_OAM_H_RECTANGLE, 0, 0x1c, 3}, + {-24, 16, ST_OAM_H_RECTANGLE, 1, 0x1e, 3}, + {8, 16, ST_OAM_H_RECTANGLE, 0, 0x22, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED93C[] = { + 12, gSubspriteTable_83ED8DC +}; + +const struct Subsprite gSubspriteTable_83ED944[] = { + {-16, -12, ST_OAM_H_RECTANGLE, 2, 0x0, 3}, + {-16, 4, ST_OAM_H_RECTANGLE, 0, 0x8, 3}, + {0, 4, ST_OAM_H_RECTANGLE, 0, 0xa, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED95C[] = { + {3, gSubspriteTable_83ED944} +}; + +const struct Subsprite gSubspriteTable_83ED964[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0x8, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED974[] = { + {2, gSubspriteTable_83ED964} +}; + +const struct Subsprite gSubspriteTable_83ED97C[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x2, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xa, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED98C[] = { + {2, gSubspriteTable_83ED97C} +}; + +const struct Subsprite gSubspriteTable_83ED994[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x4, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xc, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED9A4[] = { + {2, gSubspriteTable_83ED994} +}; + +const struct Subsprite gSubspriteTable_83ED9AC[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x6, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xe, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED9BC[] = { + {2, gSubspriteTable_83ED9AC} +}; + +const struct Subsprite gSubspriteTable_83ED9C4[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0x8, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED9D4[] = { + {2, gSubspriteTable_83ED9C4} +}; + +const struct Subsprite gSubspriteTable_83ED9DC[] = { + {-4, -8, ST_OAM_SQUARE, 0, 0x2, 3}, + {-4, 0, ST_OAM_SQUARE, 0, 0xa, 3} +}; + +const struct SubspriteTable gSubspriteTables_83ED9EC[] = { + {2, gSubspriteTable_83ED9DC} +}; + +const struct Subsprite gSubspriteTable_83ED9F4[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x3, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xb, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDA04[] = { + {2, gSubspriteTable_83ED9F4} +}; + +const struct Subsprite gSubspriteTable_83EDA0C[] = { + {-4, -8, ST_OAM_SQUARE, 0, 0x5, 3}, + {-4, 0, ST_OAM_SQUARE, 0, 0xd, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDA1C[] = { + {2, gSubspriteTable_83EDA0C} +}; + +const struct Subsprite gSubspriteTable_83EDA24[] = { + {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x6, 3}, + {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xe, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDA34[] = { + {2, gSubspriteTable_83EDA24} +}; + +const struct Subsprite gSubspriteTable_83EDA3C[] = { + {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, + {4, -12, ST_OAM_SQUARE, 0, 0x2, 3}, + {-12, -4, ST_OAM_H_RECTANGLE, 0, 0x8, 3}, + {4, -4, ST_OAM_SQUARE, 0, 0xa, 3}, + {-12, 4, ST_OAM_H_RECTANGLE, 0, 0x10, 3}, + {4, 4, ST_OAM_SQUARE, 0, 0x12, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDA6C[] = { + {6, gSubspriteTable_83EDA3C} +}; + +const struct Subsprite gSubspriteTable_83EDA74[] = { + {-8, -12, ST_OAM_H_RECTANGLE, 0, 0x3, 3}, + {-8, -4, ST_OAM_H_RECTANGLE, 0, 0xb, 3}, + {-8, 4, ST_OAM_H_RECTANGLE, 0, 0x13, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDA8C[] = { + {3, gSubspriteTable_83EDA74} +}; + +const struct Subsprite gSubspriteTable_83EDA94[] = { + {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x5, 3}, + {4, -12, ST_OAM_SQUARE, 0, 0x7, 3}, + {-12, -4, ST_OAM_H_RECTANGLE, 0, 0xd, 3}, + {4, -4, ST_OAM_SQUARE, 0, 0xf, 3}, + {-12, 4, ST_OAM_H_RECTANGLE, 0, 0x15, 3}, + {4, 4, ST_OAM_SQUARE, 0, 0x17, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDAC4[] = { + {6, gSubspriteTable_83EDA94} +}; + +const struct Subsprite gSubspriteTable_83EDACC[] = { + {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, + {4, -12, ST_OAM_SQUARE, 0, 0x2, 3}, + {-12, -4, ST_OAM_H_RECTANGLE, 0, 0x8, 3}, + {4, -4, ST_OAM_SQUARE, 0, 0xa, 3}, + {-12, 4, ST_OAM_H_RECTANGLE, 0, 0x10, 3}, + {4, 4, ST_OAM_SQUARE, 0, 0x12, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDAFC[] = { + {6, gSubspriteTable_83EDACC} +}; + +const struct Subsprite gSubspriteTable_83EDB04[] = { + {-8, -12, ST_OAM_H_RECTANGLE, 0, 0x3, 3}, + {-8, -4, ST_OAM_H_RECTANGLE, 0, 0xb, 3}, + {-8, 4, ST_OAM_H_RECTANGLE, 0, 0x13, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDB1C[] = { + {3, gSubspriteTable_83EDB04} +}; + +const struct Subsprite gSubspriteTable_83EDB24[] = { + {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x5, 3}, + {4, -12, ST_OAM_SQUARE, 0, 0x7, 3}, + {-12, -4, ST_OAM_H_RECTANGLE, 0, 0xd, 3}, + {4, -4, ST_OAM_SQUARE, 0, 0xf, 3}, + {-12, 4, ST_OAM_H_RECTANGLE, 0, 0x15, 3}, + {4, 4, ST_OAM_SQUARE, 0, 0x17, 3} +}; + +const struct SubspriteTable gSubspriteTables_83EDB54[] = { + {6, gSubspriteTable_83EDB24} +}; + + -- cgit v1.2.3 From aee62a5b2487845921a1e6c3c3f08475cc7ae2ea Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 15:08:57 -0500 Subject: data through gUnknown_083EDD08 --- data/slot_machine.s | 106 -------------------------------------------- include/graphics.h | 18 ++++++++ src/field/slot_machine.c | 112 ++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 125 insertions(+), 111 deletions(-) diff --git a/data/slot_machine.s b/data/slot_machine.s index 391bdf05d..23d2b8a74 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -3,112 +3,6 @@ .section .rodata - .align 2 -gUnknown_083EDB5C:: @ 83EDB5C - .4byte gSpriteTemplate_83ED57C - .4byte gSpriteTemplate_83ED594 - .4byte gSpriteTemplate_83ED5AC - .4byte gSpriteTemplate_83ED5DC - .4byte gSpriteTemplate_83ED5F4 - .4byte gSpriteTemplate_83ED654 - .4byte gSpriteTemplate_83ED66C - .4byte gSpriteTemplate_83ED684 - .4byte gSpriteTemplate_83ED69C - .4byte gSpriteTemplate_83ED6B4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED624 - .4byte gSpriteTemplate_83ED624 - .4byte gSpriteTemplate_83ED624 - .4byte gSpriteTemplate_83ED63C - .4byte gSpriteTemplate_83ED63C - .4byte gSpriteTemplate_83ED63C - .4byte gDummySpriteTemplate - - .align 2 -gUnknown_083EDBC4:: @ 83EDBC4 - .4byte gSubspriteTables_83ED804 - .4byte gSubspriteTables_83ED82C - .4byte gSubspriteTables_83ED854 - .4byte gSubspriteTables_83ED8B4 - .4byte NULL - .4byte NULL - .4byte gSubspriteTables_83ED8CC - .4byte NULL - .4byte gSubspriteTables_83ED93C - .4byte gSubspriteTables_83ED95C - .4byte gSubspriteTables_83ED974 - .4byte gSubspriteTables_83ED98C - .4byte gSubspriteTables_83ED9A4 - .4byte gSubspriteTables_83ED9BC - .4byte gSubspriteTables_83ED9D4 - .4byte gSubspriteTables_83ED9EC - .4byte gSubspriteTables_83EDA04 - .4byte gSubspriteTables_83EDA1C - .4byte gSubspriteTables_83EDA34 - .4byte gSubspriteTables_83EDA6C - .4byte gSubspriteTables_83EDA8C - .4byte gSubspriteTables_83EDAC4 - .4byte gSubspriteTables_83EDAFC - .4byte gSubspriteTables_83EDB1C - .4byte gSubspriteTables_83EDB54 - .4byte NULL - - .align 2 -gUnknown_083EDC2C:: @ 83EDC2C - obj_tiles gSlotMachineReelSymbol1Tiles, 0x200, 0 - obj_tiles gSlotMachineReelSymbol2Tiles, 0x200, 1 - obj_tiles gSlotMachineReelSymbol3Tiles, 0x200, 2 - obj_tiles gSlotMachineReelSymbol4Tiles, 0x200, 3 - obj_tiles gSlotMachineReelSymbol5Tiles, 0x200, 4 - obj_tiles gSlotMachineReelSymbol6Tiles, 0x200, 5 - obj_tiles gSlotMachineReelSymbol7Tiles, 0x200, 6 - obj_tiles gSlotMachineNumber0Tiles, 0x40, 7 - obj_tiles gSlotMachineNumber1Tiles, 0x40, 8 - obj_tiles gSlotMachineNumber2Tiles, 0x40, 9 - obj_tiles gSlotMachineNumber3Tiles, 0x40, 10 - obj_tiles gSlotMachineNumber4Tiles, 0x40, 11 - obj_tiles gSlotMachineNumber5Tiles, 0x40, 12 - obj_tiles gSlotMachineNumber6Tiles, 0x40, 13 - obj_tiles gSlotMachineNumber7Tiles, 0x40, 14 - obj_tiles gSlotMachineNumber8Tiles, 0x40, 15 - obj_tiles gSlotMachineNumber9Tiles, 0x40, 16 - obj_tiles gSharedMem + 0x10A00, 0x200, 18 - obj_tiles gSharedMem + 0x11400, 0x200, 19 - obj_tiles gSharedMem + 0x11600, 0x300, 20 - obj_tiles gSharedMem + 0x11900, 0x300, 21 - null_obj_tiles - - .align 2 -gUnknown_083EDCDC:: @ 83EDCDC - obj_tiles gSharedMem + 0x10000, 2048, 0x0011 - - .align 2 -gUnknown_083EDCE4:: @ 83EDCE4 - .4byte gUnknownPalette_08E997E8 - -UnknownPalette_83EDCE8: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDD40.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDCE8.gbapal" - .endif - - .align 2 -gUnknown_083EDD08:: @ 83EDD08 - .4byte UnknownPalette_83EDCE8 + 10 * 2 - .4byte UnknownPalette_83EDCE8 + 11 * 2 - .4byte UnknownPalette_83EDCE8 + 12 * 2 - .4byte UnknownPalette_83EDCE8 + 13 * 2 - .4byte UnknownPalette_83EDCE8 + 14 * 2 - .align 2 gUnknown_083EDD1C:: @ 83EDD1C .4byte gUnknown_08E95A18 + 148 diff --git a/include/graphics.h b/include/graphics.h index 9db35862c..5f19b09cb 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2672,5 +2672,23 @@ extern const u8 gSpriteImage_8E98FE8[]; extern const u8 gSpriteImage_8E98848[]; extern const u8 gSpriteImage_8E98868[]; extern const u8 gSpriteImage_8E98828[]; +extern const u8 gSlotMachineReelSymbol1Tiles[]; +extern const u8 gSlotMachineReelSymbol2Tiles[]; +extern const u8 gSlotMachineReelSymbol3Tiles[]; +extern const u8 gSlotMachineReelSymbol4Tiles[]; +extern const u8 gSlotMachineReelSymbol5Tiles[]; +extern const u8 gSlotMachineReelSymbol6Tiles[]; +extern const u8 gSlotMachineReelSymbol7Tiles[]; +extern const u8 gSlotMachineNumber0Tiles[]; +extern const u8 gSlotMachineNumber1Tiles[]; +extern const u8 gSlotMachineNumber2Tiles[]; +extern const u8 gSlotMachineNumber3Tiles[]; +extern const u8 gSlotMachineNumber4Tiles[]; +extern const u8 gSlotMachineNumber5Tiles[]; +extern const u8 gSlotMachineNumber6Tiles[]; +extern const u8 gSlotMachineNumber7Tiles[]; +extern const u8 gSlotMachineNumber8Tiles[]; +extern const u8 gSlotMachineNumber9Tiles[]; +extern const u8 gUnknownPalette_08E997E8[]; #endif // GUARD_GRAPHICS_H diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index bff4e6a96..4aa6af742 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3571,8 +3571,8 @@ u8 sub_8105BB4(u8 a0, u8 a1, s16 a2) return sub_8105BF8(a0, gUnknown_083ECF0C[a1], gUnknown_083ECE7E[a1][0], gUnknown_083ECE7E[a1][1], a2); } -extern const struct SpriteTemplate *gUnknown_083EDB5C[]; -extern const struct SubspriteTable *gUnknown_083EDBC4[]; +const struct SpriteTemplate *const gUnknown_083EDB5C[]; +const struct SubspriteTable *const gUnknown_083EDBC4[]; u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) { @@ -4011,7 +4011,7 @@ void sub_810639C(void) extern const u8 gSlotMachineReelTimeLights_Gfx[]; extern const u8 gUnknown_083EDE8C[]; -extern const struct SpriteSheet gUnknown_083EDC2C[]; +const struct SpriteSheet gUnknown_083EDC2C[]; extern const struct SpritePalette gSlotMachineSpritePalettes[]; void sub_81063C0(void) @@ -4023,8 +4023,8 @@ void sub_81063C0(void) LoadSpritePalettes(gSlotMachineSpritePalettes); } -extern const u8 *gUnknown_083EDCE4; -extern const struct SpriteSheet gUnknown_083EDCDC; +const u8 *const gUnknown_083EDCE4; +const struct SpriteSheet gUnknown_083EDCDC; void sub_8106404(void) { @@ -5306,4 +5306,106 @@ const struct SubspriteTable gSubspriteTables_83EDB54[] = { {6, gSubspriteTable_83EDB24} }; +const struct SpriteTemplate *const gUnknown_083EDB5C[] = { + &gSpriteTemplate_83ED57C, + &gSpriteTemplate_83ED594, + &gSpriteTemplate_83ED5AC, + &gSpriteTemplate_83ED5DC, + &gSpriteTemplate_83ED5F4, + &gSpriteTemplate_83ED654, + &gSpriteTemplate_83ED66C, + &gSpriteTemplate_83ED684, + &gSpriteTemplate_83ED69C, + &gSpriteTemplate_83ED6B4, + &gSpriteTemplate_83ED5C4, + &gSpriteTemplate_83ED5C4, + &gSpriteTemplate_83ED5C4, + &gSpriteTemplate_83ED5C4, + &gSpriteTemplate_83ED60C, + &gSpriteTemplate_83ED60C, + &gSpriteTemplate_83ED60C, + &gSpriteTemplate_83ED60C, + &gSpriteTemplate_83ED60C, + &gSpriteTemplate_83ED624, + &gSpriteTemplate_83ED624, + &gSpriteTemplate_83ED624, + &gSpriteTemplate_83ED63C, + &gSpriteTemplate_83ED63C, + &gSpriteTemplate_83ED63C, + &gDummySpriteTemplate +}; + +const struct SubspriteTable *const gUnknown_083EDBC4[] = { + gSubspriteTables_83ED804, + gSubspriteTables_83ED82C, + gSubspriteTables_83ED854, + gSubspriteTables_83ED8B4, + NULL, + NULL, + gSubspriteTables_83ED8CC, + NULL, + gSubspriteTables_83ED93C, + gSubspriteTables_83ED95C, + gSubspriteTables_83ED974, + gSubspriteTables_83ED98C, + gSubspriteTables_83ED9A4, + gSubspriteTables_83ED9BC, + gSubspriteTables_83ED9D4, + gSubspriteTables_83ED9EC, + gSubspriteTables_83EDA04, + gSubspriteTables_83EDA1C, + gSubspriteTables_83EDA34, + gSubspriteTables_83EDA6C, + gSubspriteTables_83EDA8C, + gSubspriteTables_83EDAC4, + gSubspriteTables_83EDAFC, + gSubspriteTables_83EDB1C, + gSubspriteTables_83EDB54, + NULL +}; + +const struct SpriteSheet gUnknown_083EDC2C[] = { + {gSlotMachineReelSymbol1Tiles, 0x200, 0}, + {gSlotMachineReelSymbol2Tiles, 0x200, 1}, + {gSlotMachineReelSymbol3Tiles, 0x200, 2}, + {gSlotMachineReelSymbol4Tiles, 0x200, 3}, + {gSlotMachineReelSymbol5Tiles, 0x200, 4}, + {gSlotMachineReelSymbol6Tiles, 0x200, 5}, + {gSlotMachineReelSymbol7Tiles, 0x200, 6}, + {gSlotMachineNumber0Tiles, 0x40, 7}, + {gSlotMachineNumber1Tiles, 0x40, 8}, + {gSlotMachineNumber2Tiles, 0x40, 9}, + {gSlotMachineNumber3Tiles, 0x40, 10}, + {gSlotMachineNumber4Tiles, 0x40, 11}, + {gSlotMachineNumber5Tiles, 0x40, 12}, + {gSlotMachineNumber6Tiles, 0x40, 13}, + {gSlotMachineNumber7Tiles, 0x40, 14}, + {gSlotMachineNumber8Tiles, 0x40, 15}, + {gSlotMachineNumber9Tiles, 0x40, 16}, + {ewram10000 + 0x0A00, 0x200, 18}, + {ewram10000 + 0x1400, 0x200, 19}, + {ewram10000 + 0x1600, 0x300, 20}, + {ewram10000 + 0x1900, 0x300, 21}, + {} +}; + +const struct SpriteSheet gUnknown_083EDCDC = { + ewram10000 + 0x0000, 0x800, 17 +}; + +const u8 *const gUnknown_083EDCE4 = gUnknownPalette_08E997E8; + +#ifdef SAPPHIRE +const u16 UnknownPalette_83EDCE8[] = INCBIN_U16("graphics/unknown/sapphire_83EDD40.gbapal"); +#elif defined(RUBY) +const u16 UnknownPalette_83EDCE8[] = INCBIN_U16("graphics/unknown/ruby_83EDCE8.gbapal"); +#endif // RS + +const u16 *const gUnknown_083EDD08[] = { + UnknownPalette_83EDCE8 + 10, + UnknownPalette_83EDCE8 + 11, + UnknownPalette_83EDCE8 + 12, + UnknownPalette_83EDCE8 + 13, + UnknownPalette_83EDCE8 + 14 +}; -- cgit v1.2.3 From 9b2ebe671fe77298d0b1adcb5d87cbb2bd01cd3e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 2 Jan 2018 21:35:41 -0500 Subject: Remaining slot machine data --- data/slot_machine.s | 102 ----------------------------------------------- include/graphics.h | 7 ++++ ld_script.txt | 1 - src/field/slot_machine.c | 79 +++++++++++++++++++++++++++++++++--- 4 files changed, 80 insertions(+), 109 deletions(-) delete mode 100644 data/slot_machine.s diff --git a/data/slot_machine.s b/data/slot_machine.s deleted file mode 100644 index 23d2b8a74..000000000 --- a/data/slot_machine.s +++ /dev/null @@ -1,102 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_083EDD1C:: @ 83EDD1C - .4byte gUnknown_08E95A18 + 148 - .4byte gUnknown_08E95A18 + 150 - .4byte gUnknown_08E95A18 + 152 - .4byte gUnknown_08E95A18 + 154 - .4byte gUnknown_08E95A18 + 156 - -gUnknown_083EDD30:: @ 83EDD30 - .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D - -gUnknown_083EDD35:: @ 83EDD35 - .byte 0, 0, 1, 2, 3, 4 - -gUnknown_083EDD3B:: @ 83EDD3B - .byte 1, 2, 2 - - .align 1 -Unknown_83EDD3E: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDD96.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDD3E.gbapal" - .endif - - .align 1 -Unknown_83EDD5E: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDDB6.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDD5E.gbapal" - .endif - - .align 1 -Unknown_83EDD7E: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDDD6.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDD7E.gbapal" - .endif - - .align 2 -gUnknown_083EDDA0:: @ 83EDDA0 - .4byte Unknown_83EDD3E - .4byte Unknown_83EDD5E - .4byte Unknown_83EDD7E - - .align 2 -gUnknown_083EDDAC:: @ 83EDDAC - .4byte gUnknown_08E95A18 + 32 - - .align 1 -Palette_83EDDB0: - .incbin "graphics/slot_machine/83EDDB0.gbapal" - - .align 1 -Palette_83EDDD0: - .incbin "graphics/slot_machine/83EDDD0.gbapal" - - .align 1 -Palette_83EDDF0: - .incbin "graphics/slot_machine/83EDDF0.gbapal" - - .align 2 -gUnknown_083EDE10:: @ 83EDE10 - .4byte Palette_83EDDB0 - .4byte Palette_83EDDD0 - .4byte Palette_83EDDF0 - .4byte gSlotMachineSpritePalette6 - - .align 2 -gUnknown_083EDE20:: @ 83EDE20 - .4byte gSlotMachineSpritePalette6 - - .align 1 -gPalette_83EDE24:: @ 83EDE24 - .incbin "graphics/slot_machine/83EDE24_pal.bin" - - .align 2 -gSlotMachineSpritePalettes:: @ 83EDE44 - obj_pal gSlotMachineSpritePalette0, 0 - obj_pal gSlotMachineSpritePalette1, 1 - obj_pal gSlotMachineSpritePalette2, 2 - obj_pal gSlotMachineSpritePalette3, 3 - obj_pal gSlotMachineSpritePalette4, 4 - obj_pal gSlotMachineSpritePalette5, 5 - obj_pal gSlotMachineSpritePalette6, 6 - obj_pal gSlotMachineSpritePalette4, 7 - null_obj_pal - - .align 2 -gUnknown_083EDE8C:: @ 83EDE8C - .incbin "graphics/slot_machine/reel_time.4bpp.lz" - - .align 2 -gReelTimeWindowTilemap:: @ 83EEFE0 - .incbin "graphics/slot_machine/reel_time_window_map.bin" diff --git a/include/graphics.h b/include/graphics.h index 5f19b09cb..1d66172ca 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2690,5 +2690,12 @@ extern const u8 gSlotMachineNumber7Tiles[]; extern const u8 gSlotMachineNumber8Tiles[]; extern const u8 gSlotMachineNumber9Tiles[]; extern const u8 gUnknownPalette_08E997E8[]; +extern const u16 gSlotMachineSpritePalette0[]; +extern const u16 gSlotMachineSpritePalette1[]; +extern const u16 gSlotMachineSpritePalette2[]; +extern const u16 gSlotMachineSpritePalette3[]; +extern const u16 gSlotMachineSpritePalette4[]; +extern const u16 gSlotMachineSpritePalette5[]; +extern const u16 gSlotMachineSpritePalette6[]; #endif // GUARD_GRAPHICS_H diff --git a/ld_script.txt b/ld_script.txt index c02c6873e..058f6aaca 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -550,7 +550,6 @@ SECTIONS { data/cute_sketch.o(.rodata); src/field/decoration.o(.rodata); src/field/slot_machine.o(.rodata); - data/slot_machine.o(.rodata); src/scene/contest_painting.o(.rodata); src/battle/battle_ai.o(.rodata); src/field/trader.o(.rodata); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 4aa6af742..e1687b3d1 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -2244,8 +2244,8 @@ void sub_8103CC8(struct Task *task, u8 taskId) } extern const u16 *const gUnknown_083EDD08[]; -extern const u16 *const gUnknown_083EDD1C[]; -extern const u8 gUnknown_083EDD30[]; +const u16 *const gUnknown_083EDD1C[]; +const u8 gUnknown_083EDD30[]; static void sub_8103D00(u8 a0) { @@ -2257,8 +2257,8 @@ static void sub_8103D28(u8 a0) LoadPalette(gUnknown_083EDD1C[a0], gUnknown_083EDD30[a0], 2); } -extern const u8 gUnknown_083EDD3B[]; -extern const u8 gUnknown_083EDD35[][2]; +const u8 gUnknown_083EDD35[][2]; +const u8 gUnknown_083EDD3B[]; static void sub_8103D50(u8 a0) { @@ -2369,8 +2369,8 @@ static void sub_8103F70(void) sub_8103FE8(taskId); } -extern const u16 *const gUnknown_083EDDA0[]; -extern const u16 *const gUnknown_083EDDAC; +const u16 *const gUnknown_083EDDA0[]; +const u16 *const gUnknown_083EDDAC; static bool8 sub_8103FA0(void) { @@ -5409,3 +5409,70 @@ const u16 *const gUnknown_083EDD08[] = { UnknownPalette_83EDCE8 + 14 }; +const u16 *const gUnknown_083EDD1C[] = { + gUnknown_08E95A18 + 74, + gUnknown_08E95A18 + 75, + gUnknown_08E95A18 + 76, + gUnknown_08E95A18 + 77, + gUnknown_08E95A18 + 78 +}; + +const u8 gUnknown_083EDD30[] = { + 0x4a, 0x4b, 0x4c, 0x4e, 0x4d +}; + +const u8 gUnknown_083EDD35[][2] = { + {0, 0}, + {1, 2}, + {3, 4} +}; +const u8 gUnknown_083EDD3B[] = {1, 2, 2}; + +#ifdef SAPPHIRE +const u16 Unknown_83EDD3E[] = INCBIN_U16("graphics/unknown/sapphire_83EDD96.gbapal"); +const u16 Unknown_83EDD5E[] = INCBIN_U16("graphics/unknown/sapphire_83EDDB6.gbapal"); +const u16 Unknown_83EDD7E[] = INCBIN_U16("graphics/unknown/sapphire_83EDDD6.gbapal"); +#elif defined (RUBY) +const u16 Unknown_83EDD3E[] = INCBIN_U16("graphics/unknown/ruby_83EDD3E.gbapal"); +const u16 Unknown_83EDD5E[] = INCBIN_U16("graphics/unknown/ruby_83EDD5E.gbapal"); +const u16 Unknown_83EDD7E[] = INCBIN_U16("graphics/unknown/ruby_83EDD7E.gbapal"); +#endif // RS + +const u16 *const gUnknown_083EDDA0[] = { + Unknown_83EDD3E, + Unknown_83EDD5E, + Unknown_83EDD7E +}; + +const u16 *const gUnknown_083EDDAC = gUnknown_08E95A18 + 16; + +const u16 Palette_83EDDB0[] = INCBIN_U16("graphics/slot_machine/83EDDB0.gbapal"); +const u16 Palette_83EDDD0[] = INCBIN_U16("graphics/slot_machine/83EDDD0.gbapal"); +const u16 Palette_83EDDF0[] = INCBIN_U16("graphics/slot_machine/83EDDF0.gbapal"); + +const u16 *const gUnknown_083EDE10[] = { + Palette_83EDDB0, + Palette_83EDDD0, + Palette_83EDDF0, + gSlotMachineSpritePalette6 +}; + +const u16 *const gUnknown_083EDE20 = gSlotMachineSpritePalette6; + +const u16 gPalette_83EDE24[] = INCBIN_U16("graphics/slot_machine/83EDE24_pal.bin"); + +const struct SpritePalette gSlotMachineSpritePalettes[] = { + {gSlotMachineSpritePalette0, 0}, + {gSlotMachineSpritePalette1, 1}, + {gSlotMachineSpritePalette2, 2}, + {gSlotMachineSpritePalette3, 3}, + {gSlotMachineSpritePalette4, 4}, + {gSlotMachineSpritePalette5, 5}, + {gSlotMachineSpritePalette6, 6}, + {gSlotMachineSpritePalette4, 7}, + {} +}; + +const u8 gUnknown_083EDE8C[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); + +const u16 gReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/reel_time_window_map.bin"); -- cgit v1.2.3 From 3c709ef2ede275d6eeaa319a603c199a3906226b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 3 Jan 2018 23:55:30 -0500 Subject: A little tidying --- include/global.h | 8 -------- include/sprite.h | 4 ---- src/field/slot_machine.c | 1 - 3 files changed, 13 deletions(-) diff --git a/include/global.h b/include/global.h index 17dd0a88d..76300d36d 100644 --- a/include/global.h +++ b/include/global.h @@ -27,14 +27,6 @@ int strcmp (const char *, const char *); #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided\n") -#define nonmatching(fndec, x) {\ -__attribute__((naked))\ -fndec\ -{\ - asm_unified(x);\ -}\ -} - #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) #define POKEMON_SLOTS_NUMBER 412 diff --git a/include/sprite.h b/include/sprite.h index 2b7960f6f..b72c09989 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -120,10 +120,6 @@ union AffineAnimCmd {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} #define AFFINEANIMCMD_END \ {.type = AFFINEANIMCMDTYPE_END} -#define AFFINEANIMCMD_LOOP(_count) \ - {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}} -#define AFFINEANIMCMD_JUMP(_target) \ - {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} struct AffineAnimState { diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index e1687b3d1..0e907674b 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -12,7 +12,6 @@ #include "trig.h" #include "graphics.h" #include "palette.h" -#include "task.h" #include "util.h" #include "text.h" #include "menu.h" -- cgit v1.2.3 From 86e1d1098e2554f21c42784115e9f69fb81b2925 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 00:09:07 -0500 Subject: Declare as static what can be so declared --- include/graphics.h | 5 + src/field/slot_machine.c | 1119 +++++++++++++++++++++++----------------------- 2 files changed, 562 insertions(+), 562 deletions(-) diff --git a/include/graphics.h b/include/graphics.h index 1d66172ca..17abb840e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2697,5 +2697,10 @@ extern const u16 gSlotMachineSpritePalette3[]; extern const u16 gSlotMachineSpritePalette4[]; extern const u16 gSlotMachineSpritePalette5[]; extern const u16 gSlotMachineSpritePalette6[]; +extern const u8 gSlotMachine_Gfx[]; +extern const u8 gSlotMachineReelTimeLights_Gfx[]; +extern const u16 gUnknown_08E95A18[]; +extern const u16 gUnknown_08E95AB8[]; +extern const u16 gUnknown_08E95FB8[]; #endif // GUARD_GRAPHICS_H diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 0e907674b..b21d8a082 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -80,7 +80,7 @@ static void sub_8102484(void); static void sub_81024F0(void); static bool8 sub_8102540(void); static u8 sub_8102578(void); -u16 dp15_jump_random_unknown(void); +static u16 dp15_jump_random_unknown(void); static u8 sub_81025BC(void); static void sub_81027A0(void); static void sub_81027D0(void); @@ -90,44 +90,44 @@ static u8 sub_81029D4(u8 c1, u8 c2, u8 c3); static void sub_8102A24(void); static void sub_8102A64(u8 taskId); static bool8 sub_8102A44(void); -bool8 sub_8102A9C(struct Task *task); -bool8 sub_8102AD0(struct Task *task); -bool8 sub_8102B80(struct Task *task); -u8 sub_8102BA4(u8 x, s16 y); +static bool8 sub_8102A9C(struct Task *task); +static bool8 sub_8102AD0(struct Task *task); +static bool8 sub_8102B80(struct Task *task); +static u8 sub_8102BA4(u8 x, s16 y); static void sub_8102DA8(void); static void sub_8102DEC(u8 a0); static void sub_8102E1C(u8 a0); static bool8 sub_8102E40(u8 a0); static void sub_8102E68(u8 taskId); -bool8 sub_8102EA0(struct Task *task); -bool8 sub_8102EA4(struct Task *task); -bool8 sub_8102EC0(struct Task *task); -bool8 sub_8102F4C(struct Task *task); -bool8 sub_8103008(struct Task *task); -bool8 sub_810305C(void); -bool8 sub_8103154(u8 a0, u8 a1); -bool8 sub_81031B4(u8 a0, u8 a1); -bool8 sub_81032C0(void); -bool8 sub_81032E8(void); -bool8 sub_810333C(void); -bool8 sub_81033DC(void); -bool8 sub_810341C(u8 a0); -bool8 sub_810347C(u8 a0); -void sub_81034F4(void); -void sub_8103540(void); -void sub_8103564(void); -void j5_08111E84(void); -void sub_8103668(void); -void sub_810380C(void); -void sub_8103830(void); -void sub_8103910(void); -void sub_8103A78(void); +static bool8 sub_8102EA0(struct Task *task); +static bool8 sub_8102EA4(struct Task *task); +static bool8 sub_8102EC0(struct Task *task); +static bool8 sub_8102F4C(struct Task *task); +static bool8 sub_8103008(struct Task *task); +static bool8 sub_810305C(void); +static bool8 sub_8103154(u8 a0, u8 a1); +static bool8 sub_81031B4(u8 a0, u8 a1); +static bool8 sub_81032C0(void); +static bool8 sub_81032E8(void); +static bool8 sub_810333C(void); +static bool8 sub_81033DC(void); +static bool8 sub_810341C(u8 a0); +static bool8 sub_810347C(u8 a0); +static void sub_81034F4(void); +static void sub_8103540(void); +static void sub_8103564(void); +static void j5_08111E84(void); +static void sub_8103668(void); +static void sub_810380C(void); +static void sub_8103830(void); +static void sub_8103910(void); +static void sub_8103A78(void); static void sub_8103C14(u8 a0); static void sub_8103C48(u8 taskId); static void sub_8103D50(u8 a0); -void sub_8103C78(struct Task *task, u8 taskId); -void sub_8103CAC(struct Task *task, u8 taskId); -void sub_8103CC8(struct Task *task, u8 taskId); +static void sub_8103C78(struct Task *task, u8 taskId); +static void sub_8103CAC(struct Task *task, u8 taskId); +static void sub_8103CC8(struct Task *task, u8 taskId); static void sub_8103D8C(u8 a0); static void sub_8103DC8(void); static void sub_8103E04(u8 a0); @@ -140,98 +140,94 @@ static bool8 sub_8103FA0(void); static void sub_8103FE8(u8 taskId); static void sub_8104048(void); static void sub_8104064(u8 unused); -bool8 sub_81040C8(void); +static bool8 sub_81040C8(void); static void sub_81040E8(u8 taskId); -void nullsub_68(struct Task *task); -void sub_810411C(struct Task *task); -void sub_8104144(struct Task *task); -void sub_81041AC(struct Task *task); +static void nullsub_68(struct Task *task); +static void sub_810411C(struct Task *task); +static void sub_8104144(struct Task *task); +static void sub_81041AC(struct Task *task); static void sub_810421C(struct Task *task); -void sub_810423C(u8 a0); +static void sub_810423C(u8 a0); static void sub_810430C(void); static bool8 sub_810432C(void); -void sub_810434C(u8 taskId); -void sub_810437C(struct Task *task); -void sub_81043EC(struct Task *task); -void sub_8104468(struct Task *task); -void sub_8104498(struct Task *task); -void sub_8104548(struct Task *task); -void sub_8104598(struct Task *task); -void sub_81045CC(struct Task *task); -void sub_810463C(struct Task *task); -void sub_81046C0(struct Task *task); -void sub_8104764(struct Task *task); -void sub_8104794(struct Task *task); -void sub_81047EC(struct Task *task); -void sub_8104860(struct Task *task); -void sub_81048A8(struct Task *task); -void sub_81048CC(struct Task *task); -void sub_8104940(struct Task *task); -void sub_81049C8(struct Task *task); -void sub_81049F8(struct Task *task); -void sub_8104A40(s16 a0, s16 a1); -void sub_8104A88(s16 a0); -void sub_8104AB8(u8 a0); -bool8 sub_8104AEC(void); -void sub_8104B0C(u8 taskId); -void sub_8104B3C(struct Task *task); -void sub_8104B60(struct Task *task); -void sub_8104B80(struct Task *task); -void sub_8104BC8(struct Task *task); -void sub_8104BFC(struct Task *task); -void sub_8104C44(struct Task *task); -void sub_8104C5C(void); -void sub_8104CAC(u8 arg0); -bool8 sub_8104E18(void); -void nullsub_69(struct Task *task); -void sub_8104E74(u8 taskId); -void sub_8104EA8(void); -void sub_8104F8C(void); -void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); -void sub_81050C4(void); -void sub_8105100(void); -void sub_810514C(void); -void sub_81051C0(void); -void sub_8105284(void); -void sub_81052EC(void); -void sub_81053A0(void); -void sub_810545C(void); -void sub_81054B8(void); -void sub_8105524(void); -void sub_8105554(void); -void sub_8105578(void); -void sub_8105688(s16 a0); -void sub_81056C0(void); -void sub_81056F0(void); -void sub_81057E8(s16 a0); -void sub_8105804(void); -void sub_8105854(void); -void sub_81058A0(void); -void sub_81058C4(void); -void sub_81059B8(void); -void sub_81059E8(void); -bool8 sub_8105ACC(void); -void sub_8105AEC(void); -u8 sub_8105B1C(s16 x, s16 y); -void sub_8105B88(u8 spriteId); -u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4); -void sub_81063C0(void); -void sub_8106404(void); +static void sub_810434C(u8 taskId); +static void sub_810437C(struct Task *task); +static void sub_81043EC(struct Task *task); +static void sub_8104468(struct Task *task); +static void sub_8104498(struct Task *task); +static void sub_8104548(struct Task *task); +static void sub_8104598(struct Task *task); +static void sub_81045CC(struct Task *task); +static void sub_810463C(struct Task *task); +static void sub_81046C0(struct Task *task); +static void sub_8104764(struct Task *task); +static void sub_8104794(struct Task *task); +static void sub_81047EC(struct Task *task); +static void sub_8104860(struct Task *task); +static void sub_81048A8(struct Task *task); +static void sub_81048CC(struct Task *task); +static void sub_8104940(struct Task *task); +static void sub_81049C8(struct Task *task); +static void sub_81049F8(struct Task *task); +static void sub_8104A40(s16 a0, s16 a1); +static void sub_8104A88(s16 a0); +static void sub_8104AB8(u8 a0); +static bool8 sub_8104AEC(void); +static void sub_8104B0C(u8 taskId); +static void sub_8104B3C(struct Task *task); +static void sub_8104B60(struct Task *task); +static void sub_8104B80(struct Task *task); +static void sub_8104BC8(struct Task *task); +static void sub_8104BFC(struct Task *task); +static void sub_8104C44(struct Task *task); +static void sub_8104C5C(void); +static void sub_8104CAC(u8 arg0); +static bool8 sub_8104E18(void); +static void nullsub_69(struct Task *task); +static void sub_8104E74(u8 taskId); +static void sub_8104EA8(void); +static void sub_8104F8C(void); +static void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); +static void sub_81050C4(void); +static void sub_8105100(void); +static void sub_810514C(void); +static void sub_81051C0(void); +static void sub_8105284(void); +static void sub_81052EC(void); +static void sub_81053A0(void); +static void sub_810545C(void); +static void sub_81054B8(void); +static void sub_8105524(void); +static void sub_8105554(void); +static void sub_8105578(void); +static void sub_8105688(s16 a0); +static void sub_81056C0(void); +static void sub_81056F0(void); +static void sub_81057E8(s16 a0); +static void sub_8105804(void); +static void sub_8105854(void); +static void sub_81058A0(void); +static void sub_81058C4(void); +static void sub_81059B8(void); +static void sub_81059E8(void); +static bool8 sub_8105ACC(void); +static void sub_8105AEC(void); +static u8 sub_8105B1C(s16 x, s16 y); +static void sub_8105B88(u8 spriteId); +static u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4); +static void sub_81063C0(void); +static void sub_8106404(void); static void sub_8106448(void); -void sub_81064B8(void); -void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); -void sub_81065DC(void); - -const struct UnkStruct1 *const gUnknown_083ED048[]; -extern const u16 gPalette_83EDE24[]; -extern const u8 gSlotMachine_Gfx[]; -extern const u16 gUnknown_08E95A18[]; -extern const u16 gUnknown_08E95AB8[]; -extern const u16 gUnknown_08E95FB8[]; -const u8 gUnknown_083ECD04[][3]; -const u8 gUnknown_083ECE3A[]; -const u16 gUnknown_083ECE42[]; -const u16 gUnknown_083ECE48[]; +static void sub_81064B8(void); +static void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); +static void sub_81065DC(void); + +static const struct UnkStruct1 *const gUnknown_083ED048[]; +static const u16 gPalette_83EDE24[]; +static const u8 gUnknown_083ECD04[][3]; +static const u8 gUnknown_083ECE3A[]; +static const u16 gUnknown_083ECE42[]; +static const u16 gUnknown_083ECE48[]; void PlaySlotMachine(u8 arg0, void *ptr) { @@ -286,7 +282,7 @@ static void sub_8101954(void) UpdatePaletteFade(); } -void sub_810196C(void) +static void sub_810196C(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -304,7 +300,7 @@ static void sub_81019B0(u8 arg0, void *ptr) StoreWordInTwoHalfwords(task->data + 1, (intptr_t)ptr); } -void sub_81019EC(void) +static void sub_81019EC(void) { struct Task *task = &gTasks[FindTaskIdByFunc(nullsub_67)]; eSlotMachine->unk01 = task->data[0]; @@ -368,7 +364,7 @@ static void sub_8101B04(void) REG_BLDALPHA = 0x809; } -const s16 gUnknown_083ECCF8[][2]; +static const s16 gUnknown_083ECCF8[][2]; static void sub_8101BA4(void) { @@ -586,7 +582,7 @@ static bool8 sub_8101E3C(struct Task *task) return FALSE; } -void sub_8101F2C(const u8 *str) +static void sub_8101F2C(const u8 *str) { MenuDisplayMessageBox(); MenuPrint(str, 2, 15); @@ -958,7 +954,7 @@ static void sub_81024F0(void) } } -u8 sub_810250C(u8 a0) +static u8 sub_810250C(u8 a0) { u8 i; @@ -983,7 +979,7 @@ static bool8 sub_8102540(void) return FALSE; } -const u8 gUnknown_083ECD16[][6]; +static const u8 gUnknown_083ECD16[][6]; static u8 sub_8102578(void) { @@ -1001,7 +997,7 @@ static u8 sub_8102578(void) return i; } -const u8 gUnknown_083ECD28[][6]; +static const u8 gUnknown_083ECD28[][6]; static u8 sub_81025BC(void) { @@ -1035,10 +1031,10 @@ static u8 sub_81025BC(void) return i; } -const u8 gUnknown_083ECD46[][17]; -const u8 gUnknown_083ECDAC[][17]; +static const u8 gUnknown_083ECD46[][17]; +static const u8 gUnknown_083ECDAC[][17]; -u8 sub_810264C(u8 a0) +static u8 sub_810264C(u8 a0) { if (eSlotMachine->unk03 == 0) { @@ -1047,7 +1043,7 @@ u8 sub_810264C(u8 a0) return gUnknown_083ECDAC[a0][eSlotMachine->unk02]; } -void sub_8102680(void) +static void sub_8102680(void) { u8 rval; s16 i; @@ -1069,9 +1065,9 @@ void sub_8102680(void) eSlotMachine->unk05 = i; } -const u16 gUnknown_083ECE12[]; +static const u16 gUnknown_083ECE12[]; -bool8 sub_81026DC(u16 a0) +static bool8 sub_81026DC(u16 a0) { u16 rval = Random() & 0xff; if (rval < gUnknown_083ECE12[a0]) @@ -1081,10 +1077,10 @@ bool8 sub_81026DC(u16 a0) return FALSE; } -const u16 gUnknown_083ECE1C[][2]; -const u16 gUnknown_083ECE30[]; +static const u16 gUnknown_083ECE1C[][2]; +static const u16 gUnknown_083ECE30[]; -u16 dp15_jump_random_unknown(void) +static u16 dp15_jump_random_unknown(void) { u8 r4 = 0; u8 rval; @@ -1134,8 +1130,8 @@ static void sub_81027A0(void) } } -extern const u16 gUnknown_083ECE5A[]; -extern const u16 gUnknown_083ECE6C[]; +static const u16 gUnknown_083ECE5A[]; +static const u16 gUnknown_083ECE6C[]; static void sub_81027D0(void) { @@ -1219,7 +1215,7 @@ static void sub_810290C(void) } } -const u8 gUnknown_083ECE52[]; +static const u8 gUnknown_083ECE52[]; static u8 sub_81029D4(u8 c1, u8 c2, u8 c3) { @@ -1256,7 +1252,7 @@ static bool8 sub_8102A44(void) return FALSE; } -bool8 (*const gUnknown_083ECB20[])(struct Task *task) = { +static bool8 (*const gUnknown_083ECB20[])(struct Task *task) = { sub_8102A9C, sub_8102AD0, sub_8102B80 @@ -1267,7 +1263,7 @@ static void sub_8102A64(u8 taskId) while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId)); } -bool8 sub_8102A9C(struct Task *task) +static bool8 sub_8102A9C(struct Task *task) { if (sub_8103E38()) { @@ -1281,7 +1277,7 @@ bool8 sub_8102A9C(struct Task *task) return FALSE; } -bool8 sub_8102AD0(struct Task *task) +static bool8 sub_8102AD0(struct Task *task) { if (!task->data[1]--) { @@ -1317,7 +1313,7 @@ bool8 sub_8102AD0(struct Task *task) return FALSE; } -bool8 sub_8102B80(struct Task *task) +static bool8 sub_8102B80(struct Task *task) { if (sub_8103E7C()) { @@ -1326,9 +1322,9 @@ bool8 sub_8102B80(struct Task *task) return FALSE; } -const u8 gUnknown_083ECCB2[][21]; +static const u8 gUnknown_083ECCB2[][21]; -u8 sub_8102BA4(u8 x, s16 y) +static u8 sub_8102BA4(u8 x, s16 y) { s16 offset = (eSlotMachine->unk28[x] + y) % 21; if (offset < 0) @@ -1338,7 +1334,7 @@ u8 sub_8102BA4(u8 x, s16 y) return gUnknown_083ECCB2[x][offset]; } -u8 sub_8102BF8(u8 x, s16 y) +static u8 sub_8102BF8(u8 x, s16 y) { s16 r6 = 0; if ((eSlotMachine->unk1C[x]) % 24) @@ -1346,9 +1342,9 @@ u8 sub_8102BF8(u8 x, s16 y) return sub_8102BA4(x, y + r6); } -const u8 gUnknown_083ECCF1[]; +static const u8 gUnknown_083ECCF1[]; -u8 sub_8102C48(s16 a0) +static u8 sub_8102C48(s16 a0) { s16 r1 = (eSlotMachine->unk16 + a0) % 6; if (r1 < 0) @@ -1356,14 +1352,14 @@ u8 sub_8102C48(s16 a0) return gUnknown_083ECCF1[r1]; } -void sub_8102C84(u8 a0, s16 a1) +static void sub_8102C84(u8 a0, s16 a1) { eSlotMachine->unk1C[a0] += a1; eSlotMachine->unk1C[a0] %= 504; eSlotMachine->unk28[a0] = 21 - eSlotMachine->unk1C[a0] / 24; } -s16 sub_8102CCC(u8 a0, s16 a1) +static s16 sub_8102CCC(u8 a0, s16 a1) { s16 r1 = eSlotMachine->unk1C[a0] % 24; if (r1 != 0) @@ -1376,14 +1372,14 @@ s16 sub_8102CCC(u8 a0, s16 a1) return r1; } -void sub_8102D28(s16 a0) +static void sub_8102D28(s16 a0) { eSlotMachine->unk14 += a0; eSlotMachine->unk14 %= 120; eSlotMachine->unk16 = 6 - eSlotMachine->unk14 / 20; } -s16 sub_8102D5C(s16 a0) +static s16 sub_8102D5C(s16 a0) { s16 r1 = eSlotMachine->unk14 % 20; if (r1 != 0) @@ -1424,7 +1420,7 @@ static bool8 sub_8102E40(u8 a0) return gTasks[eSlotMachine->unk3A[a0]].data[14]; } -bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = { +static bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = { sub_8102EA0, sub_8102EA4, sub_8102EC0, @@ -1437,29 +1433,29 @@ static void sub_8102E68(u8 taskId) while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId)); } -bool8 sub_8102EA0(struct Task *task) +static bool8 sub_8102EA0(struct Task *task) { return FALSE; } -bool8 sub_8102EA4(struct Task *task) +static bool8 sub_8102EA4(struct Task *task) { sub_8102C84(task->data[15], eSlotMachine->unk1A); return FALSE; } -bool8 (*const gUnknown_083ECB40[])(void) = { +static bool8 (*const gUnknown_083ECB40[])(void) = { sub_810305C, sub_81032C0, sub_81033DC }; -void (*const gUnknown_083ECB4C[])(void) = { +static void (*const gUnknown_083ECB4C[])(void) = { sub_81034F4, sub_8103540, sub_810380C }; -bool8 sub_8102EC0(struct Task *task) +static bool8 sub_8102EC0(struct Task *task) { task->data[0]++; eSlotMachine->unk34[task->data[15]] = 0; @@ -1473,7 +1469,7 @@ bool8 sub_8102EC0(struct Task *task) return TRUE; } -bool8 sub_8102F4C(struct Task *task) +static bool8 sub_8102F4C(struct Task *task) { u16 sp[] = {2, 4, 4, 4, 8}; s16 r2 = eSlotMachine->unk1C[task->data[15]] % 24; @@ -1496,7 +1492,7 @@ bool8 sub_8102F4C(struct Task *task) return FALSE; } -bool8 sub_8103008(struct Task *task) +static bool8 sub_8103008(struct Task *task) { eSlotMachine->unk22[task->data[15]] = task->data[1]; task->data[1] = -task->data[1]; @@ -1514,13 +1510,13 @@ bool8 sub_8103008(struct Task *task) return FALSE; } -bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1) = { +static bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1) = { sub_8103154, sub_81031B4, sub_81031B4 }; -bool8 sub_810305C(void) +static bool8 sub_810305C(void) { u8 r3 = sub_810250C(eSlotMachine->unk04); u8 r5 = r3; @@ -1532,7 +1528,7 @@ bool8 sub_810305C(void) return gUnknown_083ECB64[eSlotMachine->bet - 1](r5, r3); } -bool8 sub_81030A4(s16 a0, u8 a1, u8 a2) +static bool8 sub_81030A4(s16 a0, u8 a1, u8 a2) { u8 r1 = sub_8102BF8(0, a0); if (r1 == a1 || r1 == a2) @@ -1543,7 +1539,7 @@ bool8 sub_81030A4(s16 a0, u8 a1, u8 a2) return FALSE; } -bool8 sub_81030E0(s16 a0) +static bool8 sub_81030E0(s16 a0) { if (sub_8102BF8(0, 1 - a0) == 4 || sub_8102BF8(0, 2 - a0) == 4 || sub_8102BF8(0, 3 - a0) == 4) { @@ -1552,7 +1548,7 @@ bool8 sub_81030E0(s16 a0) return FALSE; } -bool8 sub_8103134(void) +static bool8 sub_8103134(void) { if (eSlotMachine->unk04 & 0xc2) { @@ -1561,7 +1557,7 @@ bool8 sub_8103134(void) return FALSE; } -bool8 sub_8103154(u8 a0, u8 a1) +static bool8 sub_8103154(u8 a0, u8 a1) { s16 i; @@ -1577,7 +1573,7 @@ bool8 sub_8103154(u8 a0, u8 a1) return FALSE; } -bool8 sub_81031B4(u8 a0, u8 a1) +static bool8 sub_81031B4(u8 a0, u8 a1) { s16 i; bool8 r6 = sub_8103134(); @@ -1621,18 +1617,18 @@ bool8 sub_81031B4(u8 a0, u8 a1) return FALSE; } -bool8 (*const gUnknown_083ECB70[])(void) = { +static bool8 (*const gUnknown_083ECB70[])(void) = { sub_81032E8, sub_81032E8, sub_810333C }; -bool8 sub_81032C0(void) +static bool8 sub_81032C0(void) { return gUnknown_083ECB70[eSlotMachine->bet - 1](); } -bool8 sub_81032E8(void) +static bool8 sub_81032E8(void) { s16 i; s16 unk34_0 = eSlotMachine->unk34[0]; @@ -1649,7 +1645,7 @@ bool8 sub_81032E8(void) return FALSE; } -bool8 sub_810333C(void) +static bool8 sub_810333C(void) { s16 i; if (sub_81032E8()) @@ -1683,13 +1679,13 @@ bool8 sub_810333C(void) return FALSE; } -bool8 (*const gUnknown_083ECB7C[])(u8 a0) = { +static bool8 (*const gUnknown_083ECB7C[])(u8 a0) = { sub_810341C, sub_810341C, sub_810347C }; -bool8 sub_81033DC(void) +static bool8 sub_81033DC(void) { u8 r3 = eSlotMachine->unk07; if (eSlotMachine->unk04 & 0x40) @@ -1703,7 +1699,7 @@ bool8 sub_81033DC(void) return gUnknown_083ECB7C[eSlotMachine->bet - 1](r3); } -bool8 sub_810341C(u8 a0) +static bool8 sub_810341C(u8 a0) { s16 i; s16 unk34_1 = eSlotMachine->unk34[1]; @@ -1720,7 +1716,7 @@ bool8 sub_810341C(u8 a0) return FALSE; } -bool8 sub_810347C(u8 a0) +static bool8 sub_810347C(u8 a0) { s16 i; s16 r8; @@ -1745,14 +1741,14 @@ bool8 sub_810347C(u8 a0) return FALSE; } -void sub_81034F4(void) +static void sub_81034F4(void) { s16 i; for (i = 0; sub_81030E0(i); i++); eSlotMachine->unk2E[0] = i; } -bool8 sub_8103520(u8 *a0) +static bool8 sub_8103520(u8 *a0) { if (*a0 == 0) { @@ -1767,18 +1763,18 @@ bool8 sub_8103520(u8 *a0) return FALSE; } -void (*const gUnknown_083ECB88[])(void) = { +static void (*const gUnknown_083ECB88[])(void) = { sub_8103564, j5_08111E84, sub_8103668 }; -void sub_8103540(void) +static void sub_8103540(void) { gUnknown_083ECB88[eSlotMachine->bet - 1](); } -void sub_8103564(void) +static void sub_8103564(void) { if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) { @@ -1799,7 +1795,7 @@ void sub_8103564(void) } } -void j5_08111E84(void) +static void j5_08111E84(void) { if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) { @@ -1822,7 +1818,7 @@ void j5_08111E84(void) #ifdef NONMATCHING // variable r6 is mistakenly plopped into r5, // and variable i is mistakenly plopped into r6 -void sub_8103668(void) +static void sub_8103668(void) { s16 i; s16 r6; @@ -2022,7 +2018,7 @@ __attribute__((naked)) void sub_8103668(void) } #endif // NONMATCHING -bool8 sub_8103764(u8 a0, u8 a1) +static bool8 sub_8103764(u8 a0, u8 a1) { if ((a0 == 0 && a1 == 1) || (a0 == 1 && a1 == 0)) { @@ -2031,7 +2027,7 @@ bool8 sub_8103764(u8 a0, u8 a1) return FALSE; } -bool8 sub_810378C(u8 a0, u8 a1, u8 a2) +static bool8 sub_810378C(u8 a0, u8 a1, u8 a2) { if ((a0 == 0 && a1 == 1 && a2 == 0) || (a0 == 1 && a1 == 0 && a2 == 1)) { @@ -2040,7 +2036,7 @@ bool8 sub_810378C(u8 a0, u8 a1, u8 a2) return FALSE; } -bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) +static bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) { if ((a0 == 0 && a1 == 1 && a2 == 0) || (a0 == 1 && a1 == 0 && a2 == 1) || @@ -2053,18 +2049,18 @@ bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) return TRUE; } -void (*const gUnknown_083ECB94[])(void) = { +static void (*const gUnknown_083ECB94[])(void) = { sub_8103830, sub_8103910, sub_8103A78 }; -void sub_810380C(void) +static void sub_810380C(void) { gUnknown_083ECB94[eSlotMachine->bet - 1](); } -void sub_8103830(void) +static void sub_8103830(void) { s16 i = 0; u8 r5 = sub_8102BF8(0, 2 - eSlotMachine->unk2E[0]); @@ -2107,7 +2103,7 @@ void sub_8103830(void) eSlotMachine->unk2E[2] = i; } -void sub_8103910(void) +static void sub_8103910(void) { s16 sp0 = 0; s16 i; @@ -2155,7 +2151,7 @@ void sub_8103910(void) eSlotMachine->unk2E[2] = sp0; } -void sub_8103A78(void) +static void sub_8103A78(void) { u8 r6; u8 r5; @@ -2211,7 +2207,7 @@ static void sub_8103C14(u8 a0) sub_8103C48(taskId); } -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 @@ -2222,29 +2218,29 @@ static void sub_8103C48(u8 taskId) gUnknown_083ECBA0[gTasks[taskId].data[0]](gTasks + taskId, taskId); } -const s16 gUnknown_083ECBAC[] = {5, 10, 15}; +static const s16 gUnknown_083ECBAC[] = {5, 10, 15}; -void sub_8103C78(struct Task *task, u8 taskId) +static void sub_8103C78(struct Task *task, u8 taskId) { sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x62, 0x63, 0x72, 0x73); task->data[0]++; } -void sub_8103CAC(struct Task *task, u8 taskId) +static void sub_8103CAC(struct Task *task, u8 taskId) { if (++task->data[1] > 11) task->data[0]++; } -void sub_8103CC8(struct Task *task, u8 taskId) +static void sub_8103CC8(struct Task *task, u8 taskId) { sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x42, 0x43, 0x52, 0x53); DestroyTask(taskId); } -extern const u16 *const gUnknown_083EDD08[]; -const u16 *const gUnknown_083EDD1C[]; -const u8 gUnknown_083EDD30[]; +static const u16 *const gUnknown_083EDD08[]; +static const u16 *const gUnknown_083EDD1C[]; +static const u8 gUnknown_083EDD30[]; static void sub_8103D00(u8 a0) { @@ -2256,8 +2252,8 @@ static void sub_8103D28(u8 a0) LoadPalette(gUnknown_083EDD1C[a0], gUnknown_083EDD30[a0], 2); } -const u8 gUnknown_083EDD35[][2]; -const u8 gUnknown_083EDD3B[]; +static const u8 gUnknown_083EDD35[][2]; +static const u8 gUnknown_083EDD3B[]; static void sub_8103D50(u8 a0) { @@ -2368,8 +2364,8 @@ static void sub_8103F70(void) sub_8103FE8(taskId); } -const u16 *const gUnknown_083EDDA0[]; -const u16 *const gUnknown_083EDDAC; +static const u16 *const gUnknown_083EDDA0[]; +static const u16 *const gUnknown_083EDDAC; static bool8 sub_8103FA0(void) { @@ -2412,7 +2408,7 @@ static void sub_8104064(u8 unused) task->data[15] = 1; } -void sub_8104098(void) +static void sub_8104098(void) { struct Task *task = gTasks + eSlotMachine->unk3E; sub_810421C(task); @@ -2420,12 +2416,12 @@ void sub_8104098(void) task->data[15] = 1; } -bool8 sub_81040C8(void) +static bool8 sub_81040C8(void) { return gTasks[eSlotMachine->unk3E].data[15]; } -void (*const gUnknown_083ECBB4[])(struct Task *task) = { +static void (*const gUnknown_083ECBB4[])(struct Task *task) = { nullsub_68, sub_810411C, sub_8104144, @@ -2437,24 +2433,24 @@ static void sub_81040E8(u8 taskId) gUnknown_083ECBB4[gTasks[taskId].data[0]](gTasks + taskId); } -void nullsub_68(struct Task *task) +static void nullsub_68(struct Task *task) { } -void sub_810411C(struct Task *task) +static void sub_810411C(struct Task *task) { task->data[2] = sub_8105B1C((task->data[1] << 3) + 20, 20); task->data[0]++; } -const u16 gUnknown_083ECBC4[][2] = { +static const u16 gUnknown_083ECBC4[][2] = { {0x9e, 0x6e}, {0x9f, 0x6f}, {0xaf, 0x7f} }; -void sub_8104144(struct Task *task) +static void sub_8104144(struct Task *task) { u16 *vaddr = (u16 *)BG_SCREEN_ADDR(29); if (gSprites[task->data[2]].data[7]) @@ -2472,7 +2468,7 @@ void sub_8104144(struct Task *task) } } -void sub_81041AC(struct Task *task) +static void sub_81041AC(struct Task *task) { u16 *vaddr = (u16 *)BG_SCREEN_ADDR(29); s16 r4 = task->data[1] + 2; @@ -2503,7 +2499,7 @@ static void sub_810421C(struct Task *task) task->data[i] = 0; } -void sub_810423C(u8 a0) +static void sub_810423C(u8 a0) { s16 i; u8 r3; @@ -2543,7 +2539,7 @@ static bool8 sub_810432C(void) return FALSE; } -void (*const gUnknown_083ECBD0[])(struct Task *task) = { +static void (*const gUnknown_083ECBD0[])(struct Task *task) = { sub_810437C, sub_81043EC, sub_8104468, @@ -2565,12 +2561,12 @@ void (*const gUnknown_083ECBD0[])(struct Task *task) = { sub_81049F8 }; -void sub_810434C(u8 taskId) +static void sub_810434C(u8 taskId) { gUnknown_083ECBD0[gTasks[taskId].data[0]](gTasks + taskId); } -void sub_810437C(struct Task *task) +static void sub_810437C(struct Task *task) { eSlotMachine->unk0A = 0; eSlotMachine->unk14 = 0; @@ -2594,7 +2590,7 @@ void sub_810437C(struct Task *task) PlayNewMapMusic(BGM_BD_TIME); } -void sub_81043EC(struct Task *task) +static void sub_81043EC(struct Task *task) { s16 r3; gSpriteCoordOffsetX -= 8; @@ -2615,7 +2611,7 @@ void sub_81043EC(struct Task *task) sub_8102D28(task->data[4] >> 8); } -void sub_8104468(struct Task *task) +static void sub_8104468(struct Task *task) { sub_8102D28(task->data[4] >> 8); if (++task->data[5] >= 60) @@ -2626,7 +2622,7 @@ void sub_8104468(struct Task *task) } } -void sub_8104498(struct Task *task) +static void sub_8104498(struct Task *task) { int r5; u8 sp0[] = {1, 1, 2, 2}; @@ -2647,7 +2643,7 @@ void sub_8104498(struct Task *task) } } -void sub_8104548(struct Task *task) +static void sub_8104548(struct Task *task) { sub_8102D28(task->data[4] >> 8); if (++task->data[5] >= 80) @@ -2659,7 +2655,7 @@ void sub_8104548(struct Task *task) } } -void sub_8104598(struct Task *task) +static void sub_8104598(struct Task *task) { sub_8102D28(task->data[4] >> 8); task->data[4] = (u8)task->data[4] + 0x80; @@ -2670,7 +2666,7 @@ void sub_8104598(struct Task *task) } } -void sub_81045CC(struct Task *task) +static void sub_81045CC(struct Task *task) { sub_8102D28(task->data[4] >> 8); task->data[4] = (u8)task->data[4] + 0x40; @@ -2696,7 +2692,7 @@ void sub_81045CC(struct Task *task) } } -void sub_810463C(struct Task *task) +static void sub_810463C(struct Task *task) { s16 r5 = eSlotMachine->unk14 % 20; if (r5) @@ -2717,7 +2713,7 @@ void sub_810463C(struct Task *task) } } -void sub_81046C0(struct Task *task) +static void sub_81046C0(struct Task *task) { if (++task->data[4] >= 60) { @@ -2746,7 +2742,7 @@ void sub_81046C0(struct Task *task) } } -void sub_8104764(struct Task *task) +static void sub_8104764(struct Task *task) { if ((task->data[4] == 0 || --task->data[4] == 0) && !sub_81040C8()) { @@ -2754,7 +2750,7 @@ void sub_8104764(struct Task *task) } } -void sub_8104794(struct Task *task) +static void sub_8104794(struct Task *task) { s16 r4; gSpriteCoordOffsetX -= 8; @@ -2772,7 +2768,7 @@ void sub_8104794(struct Task *task) } } -void sub_81047EC(struct Task *task) +static void sub_81047EC(struct Task *task) { eSlotMachine->unk0B = 0; eSlotMachine->unk0A = eSlotMachine->unk05; @@ -2797,7 +2793,7 @@ void sub_81047EC(struct Task *task) } } -void sub_8104860(struct Task *task) +static void sub_8104860(struct Task *task) { if (eSlotMachine->unk1A == task->data[1]) { @@ -2809,7 +2805,7 @@ void sub_8104860(struct Task *task) } } -void sub_81048A8(struct Task *task) +static void sub_81048A8(struct Task *task) { if (sub_8104E18()) { @@ -2817,7 +2813,7 @@ void sub_81048A8(struct Task *task) } } -void sub_81048CC(struct Task *task) +static void sub_81048CC(struct Task *task) { sub_81054B8(); sub_81056C0(); @@ -2833,7 +2829,7 @@ void sub_81048CC(struct Task *task) PlaySE(SE_W153); } -void sub_8104940(struct Task *task) +static void sub_8104940(struct Task *task) { gSpriteCoordOffsetY = task->data[4]; REG_BG1VOFS = task->data[4]; @@ -2853,7 +2849,7 @@ void sub_8104940(struct Task *task) } } -void sub_81049C8(struct Task *task) +static void sub_81049C8(struct Task *task) { gSpriteCoordOffsetY = 0; REG_BG1VOFS = 0; @@ -2864,7 +2860,7 @@ void sub_81049C8(struct Task *task) } } -void sub_81049F8(struct Task *task) +static void sub_81049F8(struct Task *task) { gSpriteCoordOffsetX = 0; REG_BG1HOFS = 0; @@ -2876,9 +2872,9 @@ void sub_81049F8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_810434C)); } -extern const u16 gReelTimeWindowTilemap[]; +static const u16 gReelTimeWindowTilemap[]; -void sub_8104A40(s16 a0, s16 a1) +static void sub_8104A40(s16 a0, s16 a1) { s16 i; @@ -2889,7 +2885,7 @@ void sub_8104A40(s16 a0, s16 a1) } } -void sub_8104A88(s16 a0) +static void sub_8104A88(s16 a0) { s16 i; @@ -2899,21 +2895,21 @@ void sub_8104A88(s16 a0) } } -void sub_8104AB8(u8 a0) +static void sub_8104AB8(u8 a0) { u8 taskId = CreateTask(sub_8104B0C, 1); gTasks[taskId].data[1] = a0; sub_8104B0C(taskId); } -bool8 sub_8104AEC(void) +static bool8 sub_8104AEC(void) { if (FindTaskIdByFunc(sub_8104B0C) == 0xFF) return TRUE; return FALSE; } -void (*const gUnknown_083ECC30[])(struct Task *task) = { +static void (*const gUnknown_083ECC30[])(struct Task *task) = { sub_8104B3C, sub_8104B60, sub_8104B80, @@ -2925,18 +2921,18 @@ void (*const gUnknown_083ECC30[])(struct Task *task) = { sub_8104C44 }; -void sub_8104B0C(u8 taskId) +static void sub_8104B0C(u8 taskId) { gUnknown_083ECC30[gTasks[taskId].data[0]](gTasks + taskId); } -void sub_8104B3C(struct Task *task) +static void sub_8104B3C(struct Task *task) { BeginNormalPaletteFade(-1, 0, 0, 16, 0); task->data[0]++; } -void sub_8104B60(struct Task *task) +static void sub_8104B60(struct Task *task) { if (!gPaletteFade.active) { @@ -2944,7 +2940,7 @@ void sub_8104B60(struct Task *task) } } -void sub_8104B80(struct Task *task) +static void sub_8104B80(struct Task *task) { sub_8104DA4(); sub_81065DC(); @@ -2954,7 +2950,7 @@ void sub_8104B80(struct Task *task) task->data[0]++; } -void sub_8104BC8(struct Task *task) +static void sub_8104BC8(struct Task *task) { if (gMain.newKeys & (B_BUTTON | SELECT_BUTTON)) { @@ -2963,7 +2959,7 @@ void sub_8104BC8(struct Task *task) } } -void sub_8104BFC(struct Task *task) +static void sub_8104BFC(struct Task *task) { MenuZeroFillScreen(); BasicInitMenuWindow(&gWindowConfig_81E7128); @@ -2974,12 +2970,12 @@ void sub_8104BFC(struct Task *task) task->data[0]++; } -void sub_8104C44(struct Task *task) +static void sub_8104C44(struct Task *task) { DestroyTask(FindTaskIdByFunc(sub_8104B0C)); } -void sub_8104C5C(void) +static void sub_8104C5C(void) { u8 i; struct Task *task; @@ -2995,7 +2991,7 @@ void sub_8104C5C(void) static void LoadSlotMachineWheelOverlay(void); -void sub_8104CAC(u8 arg0) { +static void sub_8104CAC(u8 arg0) { u8 i; struct Task *task; @@ -3023,7 +3019,7 @@ void sub_8104CAC(u8 arg0) { } } -void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) +static void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) { u8 i; struct Task *task = gTasks + eSlotMachine->unk3D; @@ -3037,7 +3033,7 @@ void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) } } -void (*const gUnknown_083ED064[])(void); +static void (*const gUnknown_083ED064[])(void); void sub_8104DA4(void) { @@ -3055,7 +3051,7 @@ void sub_8104DA4(void) } } -bool8 sub_8104E18(void) +static bool8 sub_8104E18(void) { u8 i; struct Task *task = gTasks + eSlotMachine->unk3D; @@ -3070,23 +3066,23 @@ bool8 sub_8104E18(void) return TRUE; } -void (*const gUnknown_083ECC54[])(struct Task *task) = { +static void (*const gUnknown_083ECC54[])(struct Task *task) = { nullsub_69 }; -void sub_8104E74(u8 taskId) +static void sub_8104E74(u8 taskId) { gUnknown_083ECC54[gTasks[taskId].data[0]](gTasks + taskId); } -void nullsub_69(struct Task *task) +static void nullsub_69(struct Task *task) { } -extern const struct SpriteTemplate gSpriteTemplate_83ED414; +static const struct SpriteTemplate gSpriteTemplate_83ED414; -void sub_8104EA8(void) +static void sub_8104EA8(void) { s16 i; s16 j; @@ -3104,7 +3100,7 @@ void sub_8104EA8(void) } } -void sub_8104F18(struct Sprite *sprite) +static void sub_8104F18(struct Sprite *sprite) { sprite->data[2] = eSlotMachine->unk1C[sprite->data[0]] + sprite->data[1]; sprite->data[2] %= 120; @@ -3113,7 +3109,7 @@ void sub_8104F18(struct Sprite *sprite) SetSpriteSheetFrameTileNum(sprite); } -void sub_8104F8C(void) +static void sub_8104F8C(void) { s16 i; s16 x; @@ -3127,9 +3123,9 @@ void sub_8104F8C(void) } } -extern const struct SpriteTemplate gSpriteTemplate_83ED42C; +static const struct SpriteTemplate gSpriteTemplate_83ED42C; -void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) +static void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) { struct Sprite *sprite = gSprites + CreateSprite(&gSpriteTemplate_83ED42C, x, y, 13); sprite->oam.priority = 2; @@ -3139,7 +3135,7 @@ void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) sprite->data[3] = -1; } -void sub_810506C(struct Sprite *sprite) +static void sub_810506C(struct Sprite *sprite) { u16 tag = eSlotMachine->coins; if (sprite->data[0]) @@ -3155,19 +3151,19 @@ void sub_810506C(struct Sprite *sprite) } } -extern const struct SpriteTemplate gSpriteTemplate_83ED444; -extern const struct SubspriteTable gSubspriteTables_83ED704[]; +static const struct SpriteTemplate gSpriteTemplate_83ED444; +static const struct SubspriteTable gSubspriteTables_83ED704[]; -void sub_81050C4(void) +static void sub_81050C4(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED444, 0x58, 0x48, 15); gSprites[spriteId].oam.priority = 3; SetSubspriteTables(gSprites + spriteId, gSubspriteTables_83ED704); } -extern const struct SpriteTemplate gSpriteTemplate_83ED45C; +static const struct SpriteTemplate gSpriteTemplate_83ED45C; -void sub_8105100(void) +static void sub_8105100(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED45C, 0x118, 0x50, 1); gSprites[spriteId].oam.priority = 1; @@ -3175,12 +3171,12 @@ void sub_8105100(void) eSlotMachine->unk3F = spriteId; } -void sub_810514C(void) +static void sub_810514C(void) { DestroySprite(gSprites + eSlotMachine->unk3F); } -void sub_8105170(struct Sprite *sprite) +static void sub_8105170(struct Sprite *sprite) { sprite->pos2.y = sprite->pos2.x = 0; if (sprite->animNum == 4) @@ -3193,12 +3189,12 @@ void sub_8105170(struct Sprite *sprite) } } -extern const struct SpriteTemplate gSpriteTemplate_83ED474; -extern const struct SpriteTemplate gSpriteTemplate_83ED48C; -extern const struct SubspriteTable gSubspriteTables_83ED73C[]; -extern const struct SubspriteTable gSubspriteTables_83ED75C[]; +static const struct SpriteTemplate gSpriteTemplate_83ED474; +static const struct SpriteTemplate gSpriteTemplate_83ED48C; +static const struct SubspriteTable gSubspriteTables_83ED73C[]; +static const struct SubspriteTable gSubspriteTables_83ED75C[]; -void sub_81051C0(void) +static void sub_81051C0(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED474, 0x170, 0x34, 7); struct Sprite *sprite = gSprites + spriteId; @@ -3215,10 +3211,10 @@ void sub_81051C0(void) eSlotMachine->unk49[1] = spriteId; } -extern const struct SpriteTemplate gSpriteTemplate_83ED4A4; -extern const struct SubspriteTable gSubspriteTables_83ED78C[]; +static const struct SpriteTemplate gSpriteTemplate_83ED4A4; +static const struct SubspriteTable gSubspriteTables_83ED78C[]; -void sub_8105284(void) +static void sub_8105284(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4A4, 0xa8 - gSpriteCoordOffsetX, 0x50, 7); struct Sprite *sprite = gSprites + spriteId; @@ -3228,9 +3224,9 @@ void sub_8105284(void) eSlotMachine->unk42 = spriteId; } -extern const struct SpriteTemplate gSpriteTemplate_83ED4BC; +static const struct SpriteTemplate gSpriteTemplate_83ED4BC; -void sub_81052EC(void) +static void sub_81052EC(void) { u8 i; s16 r5; @@ -3245,7 +3241,7 @@ void sub_81052EC(void) } } -void sub_810535C(struct Sprite *sprite) +static void sub_810535C(struct Sprite *sprite) { s16 r0 = (u16)(eSlotMachine->unk14 + sprite->data[7]); r0 %= 40; @@ -3253,10 +3249,10 @@ void sub_810535C(struct Sprite *sprite) StartSpriteAnimIfDifferent(sprite, sub_8102C48(r0 / 20)); } -extern const struct SpriteTemplate gSpriteTemplate_83ED4D4; -extern const struct SubspriteTable gSubspriteTables_83ED7B4[]; +static const struct SpriteTemplate gSpriteTemplate_83ED4D4; +static const struct SubspriteTable gSubspriteTables_83ED7B4[]; -void sub_81053A0(void) +static void sub_81053A0(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x170, 0x64, 9); struct Sprite *sprite = gSprites + spriteId; @@ -3273,10 +3269,10 @@ void sub_81053A0(void) eSlotMachine->unk4E[1] = spriteId; } -extern const struct SpriteTemplate gSpriteTemplate_83ED4EC; -extern const struct SubspriteTable gSubspriteTables_83ED7D4[]; +static const struct SpriteTemplate gSpriteTemplate_83ED4EC; +static const struct SubspriteTable gSubspriteTables_83ED7D4[]; -void sub_810545C(void) +static void sub_810545C(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4EC, 0x170, 0x4c, 11); struct Sprite *sprite = gSprites + spriteId; @@ -3286,7 +3282,7 @@ void sub_810545C(void) eSlotMachine->unk40 = spriteId; } -void sub_81054B8(void) +static void sub_81054B8(void) { u8 i; @@ -3301,7 +3297,7 @@ void sub_81054B8(void) } } -void sub_8105524(void) +static void sub_8105524(void) { u8 i; for (i = 0; i < 2; i++) @@ -3310,14 +3306,14 @@ void sub_8105524(void) } } -void sub_8105554(void) +static void sub_8105554(void) { DestroySprite(gSprites + eSlotMachine->unk42); } -extern const struct SpriteTemplate gSpriteTemplate_83ED504; +static const struct SpriteTemplate gSpriteTemplate_83ED504; -void sub_8105578(void) +static void sub_8105578(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0x98, 0x20, 5); struct Sprite *sprite = gSprites + spriteId; @@ -3338,7 +3334,7 @@ void sub_8105578(void) sprite->data[7] = 0x20; } -void sub_810562C(struct Sprite *sprite) +static void sub_810562C(struct Sprite *sprite) { if (sprite->data[0] != 0) { @@ -3360,13 +3356,13 @@ void sub_810562C(struct Sprite *sprite) } } -void sub_8105688(s16 a0) +static void sub_8105688(s16 a0) { gSprites[eSlotMachine->unk50[0]].data[7] = a0; gSprites[eSlotMachine->unk50[1]].data[7] = a0; } -void sub_81056C0(void) +static void sub_81056C0(void) { u8 i; @@ -3376,9 +3372,9 @@ void sub_81056C0(void) } } -extern const struct SpriteTemplate gSpriteTemplate_83ED51C; +static const struct SpriteTemplate gSpriteTemplate_83ED51C; -void sub_81056F0(void) +static void sub_81056F0(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED51C, 0x48, 0x50, 3); gSprites[spriteId].oam.priority = 1; @@ -3394,9 +3390,9 @@ void sub_81056F0(void) eSlotMachine->unk52[1] = spriteId; } -extern const u8 gUnknown_083ECC58[2]; // don't remove this until decompiled through gUnknown_083ECCF8 +static const u8 gUnknown_083ECC58[2]; // don't remove this until decompiled through gUnknown_083ECCF8 -void sub_8105784(struct Sprite *sprite) +static void sub_8105784(struct Sprite *sprite) { u8 sp[] = {16, 0}; if (sprite->data[0] && --sprite->data[6] <= 0) @@ -3408,12 +3404,12 @@ void sub_8105784(struct Sprite *sprite) } } -void sub_81057E8(s16 a0) +static void sub_81057E8(s16 a0) { gSprites[eSlotMachine->unk52[0]].data[7] = a0; } -void sub_8105804(void) +static void sub_8105804(void) { u8 i; MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, 0, 0, 0); @@ -3423,28 +3419,28 @@ void sub_8105804(void) } } -extern const struct SpriteTemplate gSpriteTemplate_83ED534; +static const struct SpriteTemplate gSpriteTemplate_83ED534; -void sub_8105854(void) +static void sub_8105854(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED534, 0xa8, 0x50, 6); gSprites[spriteId].oam.priority = 1; eSlotMachine->unk41 = spriteId; } -void sub_8105894(struct Sprite *sprite) +static void sub_8105894(struct Sprite *sprite) { sprite->pos2.y = gSpriteCoordOffsetY; } -void sub_81058A0(void) +static void sub_81058A0(void) { DestroySprite(gSprites + eSlotMachine->unk41); } -extern const struct SpriteTemplate gSpriteTemplate_83ED54C; +static const struct SpriteTemplate gSpriteTemplate_83ED54C; -void sub_81058C4(void) +static void sub_81058C4(void) { u8 i; u16 sp[] = {0x0, 0x40, 0x80, 0xC0}; @@ -3459,7 +3455,7 @@ void sub_81058C4(void) } } -void sub_810594C(struct Sprite *sprite) +static void sub_810594C(struct Sprite *sprite) { sprite->data[0] -= 2; sprite->data[0] &= 0xff; @@ -3477,7 +3473,7 @@ void sub_810594C(struct Sprite *sprite) } } -void sub_81059B8(void) +static void sub_81059B8(void) { u8 i; for (i = 0; i < 4; i++) @@ -3486,9 +3482,9 @@ void sub_81059B8(void) } } -extern const struct SpriteTemplate gSpriteTemplate_83ED564; +static const struct SpriteTemplate gSpriteTemplate_83ED564; -void sub_81059E8(void) +static void sub_81059E8(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED564, 0xa8, 0x3c, 8); struct Sprite *sprite = gSprites + spriteId; @@ -3498,7 +3494,7 @@ void sub_81059E8(void) eSlotMachine->unk43 = spriteId; } -void sub_8105A38(struct Sprite *sprite) +static void sub_8105A38(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3530,16 +3526,16 @@ u8 sub_8105ACC(void) return gSprites[eSlotMachine->unk43].data[7]; } -void sub_8105AEC(void) +static void sub_8105AEC(void) { struct Sprite *sprite = gSprites + eSlotMachine->unk43; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } -extern const struct SpriteTemplate gSpriteTemplate_83ED6CC; +static const struct SpriteTemplate gSpriteTemplate_83ED6CC; -u8 sub_8105B1C(s16 x, s16 y) +static u8 sub_8105B1C(s16 x, s16 y) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED6CC, x, y, 12); struct Sprite *sprite = gSprites + spriteId; @@ -3549,31 +3545,31 @@ u8 sub_8105B1C(s16 x, s16 y) return spriteId; } -void sub_8105B70(struct Sprite *sprite) +static void sub_8105B70(struct Sprite *sprite) { if (sprite->affineAnimEnded) sprite->data[7] = 1; } -void sub_8105B88(u8 spriteId) +static void sub_8105B88(u8 spriteId) { struct Sprite *sprite = gSprites + spriteId; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } -const s16 gUnknown_083ECE7E[][2]; -const SpriteCallback gUnknown_083ECF0C[]; +static const s16 gUnknown_083ECE7E[][2]; +static const SpriteCallback gUnknown_083ECF0C[]; u8 sub_8105BB4(u8 a0, u8 a1, s16 a2) { return sub_8105BF8(a0, gUnknown_083ECF0C[a1], gUnknown_083ECE7E[a1][0], gUnknown_083ECE7E[a1][1], a2); } -const struct SpriteTemplate *const gUnknown_083EDB5C[]; -const struct SubspriteTable *const gUnknown_083EDBC4[]; +static const struct SpriteTemplate *const gUnknown_083EDB5C[]; +static const struct SubspriteTable *const gUnknown_083EDBC4[]; -u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) +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; @@ -3586,12 +3582,12 @@ u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) return spriteId; } -void sub_8105C64(struct Sprite *sprite) +static void sub_8105C64(struct Sprite *sprite) { sprite->data[7] = 0; } -void sub_8105C6C(struct Sprite *sprite) +static void sub_8105C6C(struct Sprite *sprite) { s16 sp0[] = {4, -4, 4, -4}; s16 sp8[] = {4, 4, -4, -4}; @@ -3610,26 +3606,26 @@ void sub_8105C6C(struct Sprite *sprite) } } -void sub_8105CF0(struct Sprite *sprite) +static void sub_8105CF0(struct Sprite *sprite) { sprite->hFlip = TRUE; sub_8105C6C(sprite); } -void sub_8105D08(struct Sprite *sprite) +static void sub_8105D08(struct Sprite *sprite) { sprite->vFlip = TRUE; sub_8105C6C(sprite); } -void sub_8105D20(struct Sprite *sprite) +static void sub_8105D20(struct Sprite *sprite) { sprite->hFlip = TRUE; sprite->vFlip = TRUE; sub_8105C6C(sprite); } -void sub_8105D3C(struct Sprite *sprite) +static void sub_8105D3C(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3660,7 +3656,7 @@ void sub_8105D3C(struct Sprite *sprite) } } -void sub_8105DA4(struct Sprite *sprite) +static void sub_8105DA4(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3691,7 +3687,7 @@ void sub_8105DA4(struct Sprite *sprite) } } -void sub_8105E08(struct Sprite *sprite) +static void sub_8105E08(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3733,7 +3729,7 @@ void sub_8105E08(struct Sprite *sprite) } } -void sub_8105EB4(struct Sprite *sprite) +static void sub_8105EB4(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3773,7 +3769,7 @@ void sub_8105EB4(struct Sprite *sprite) } } -void sub_8105F54(struct Sprite *sprite) +static void sub_8105F54(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3795,7 +3791,7 @@ void sub_8105F54(struct Sprite *sprite) } } -void sub_8105F9C(struct Sprite *sprite) +static void sub_8105F9C(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3831,9 +3827,9 @@ void sub_8105F9C(struct Sprite *sprite) } } -extern const u16 *const gUnknown_083EDE10[]; +static const u16 *const gUnknown_083EDE10[]; -void sub_8106058(struct Sprite *sprite) +static void sub_8106058(struct Sprite *sprite) { if (sprite->data[1] < 3) { @@ -3857,7 +3853,7 @@ void sub_8106058(struct Sprite *sprite) sprite->data[7] = 0; } -void sub_81060FC(struct Sprite *sprite) +static void sub_81060FC(struct Sprite *sprite) { s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; @@ -3902,7 +3898,7 @@ void sub_81060FC(struct Sprite *sprite) } } -void sub_81061C8(struct Sprite *sprite) +static void sub_81061C8(struct Sprite *sprite) { s16 sp0[] = {160, 192, 224, 104, 80, 64, 48, 24}; @@ -3919,7 +3915,7 @@ void sub_81061C8(struct Sprite *sprite) } } -void sub_8106230(struct Sprite *sprite) +static void sub_8106230(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3983,24 +3979,24 @@ void sub_8106230(struct Sprite *sprite) } } -void nullsub_70(void) +static void nullsub_70(void) { } -void sub_8106364(void) +static void sub_8106364(void) { REG_MOSAIC = 0; } -extern const u16 *const gUnknown_083EDE20; +static const u16 *const gUnknown_083EDE20; -void sub_8106370(void) +static void sub_8106370(void) { LoadPalette(gUnknown_083EDE20, (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); } -void sub_810639C(void) +static void sub_810639C(void) { eSlotMachine->win0h = 0xf0; eSlotMachine->win0v = 0xa0; @@ -4008,12 +4004,11 @@ void sub_810639C(void) eSlotMachine->winOut = 0x3f; } -extern const u8 gSlotMachineReelTimeLights_Gfx[]; -extern const u8 gUnknown_083EDE8C[]; -const struct SpriteSheet gUnknown_083EDC2C[]; -extern const struct SpritePalette gSlotMachineSpritePalettes[]; +static const u8 gUnknown_083EDE8C[]; +static const struct SpriteSheet gUnknown_083EDC2C[]; +static const struct SpritePalette gSlotMachineSpritePalettes[]; -void sub_81063C0(void) +static void sub_81063C0(void) { sub_8106404(); LZDecompressWram(gSlotMachineReelTimeLights_Gfx, ewram10000); @@ -4022,10 +4017,10 @@ void sub_81063C0(void) LoadSpritePalettes(gSlotMachineSpritePalettes); } -const u8 *const gUnknown_083EDCE4; -const struct SpriteSheet gUnknown_083EDCDC; +static const u8 *const gUnknown_083EDCE4; +static const struct SpriteSheet gUnknown_083EDCDC; -void sub_8106404(void) +static void sub_8106404(void) { u8 *dest = ewram10000; u8 i = 0; @@ -4068,7 +4063,7 @@ static void sub_8106448(void) { LoadPalette(gPalette_83EDE24, 208, 32); } -void sub_81064B8(void) { +static void sub_81064B8(void) { CpuCopy16(gUnknown_08E95AB8, BG_SCREEN_ADDR(29), 20 * 32 * 2); LoadSlotMachineWheelOverlay(); } @@ -4099,7 +4094,7 @@ static void LoadSlotMachineWheelOverlay(void) { } } -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; @@ -4108,7 +4103,7 @@ void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) { vram[16 * 32 + 1 + arg0] = arg4; } -void sub_81065DC(void) { +static void sub_81065DC(void) { s16 y, x; u16 *screen; @@ -4124,23 +4119,23 @@ void sub_81065DC(void) { } } -const u8 gUnknown_083ECCB2[][21] = { +static const u8 gUnknown_083ECCB2[][21] = { {0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6}, {0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4}, {0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4} }; -const u8 gUnknown_083ECCF1[] = { +static const u8 gUnknown_083ECCF1[] = { 1, 0, 5, 4, 3, 2 }; -const s16 gUnknown_083ECCF8[][2] = { +static const s16 gUnknown_083ECCF8[][2] = { {0, 6}, {0, 10}, {0, 2} }; -const u8 gUnknown_083ECD04[][3] = { +static const u8 gUnknown_083ECD04[][3] = { {1, 1, 12}, {1, 1, 14}, {2, 2, 14}, @@ -4149,13 +4144,13 @@ const u8 gUnknown_083ECD04[][3] = { {3, 3, 16} }; -const u8 gUnknown_083ECD16[][6] = { +static const u8 gUnknown_083ECD16[][6] = { {25, 25, 30, 40, 40, 50}, {25, 25, 30, 30, 35, 35}, {25, 25, 30, 25, 25, 30} }; -const u8 gUnknown_083ECD28[][6] = { +static const u8 gUnknown_083ECD28[][6] = { {20, 25, 25, 20, 25, 25}, {12, 15, 15, 18, 19, 22}, {25, 25, 25, 30, 30, 40}, @@ -4163,7 +4158,7 @@ const u8 gUnknown_083ECD28[][6] = { {40, 40, 35, 35, 40, 40} }; -const u8 gUnknown_083ECD46[][17] = { +static const u8 gUnknown_083ECD46[][17] = { {243, 243, 243, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5}, { 5, 5, 5, 150, 150, 150, 150, 130, 130, 130, 130, 130, 130, 100, 100, 100, 5}, { 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40}, @@ -4172,7 +4167,7 @@ const u8 gUnknown_083ECD46[][17] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6} }; -const u8 gUnknown_083ECDAC[][17] = { +static const u8 gUnknown_083ECDAC[][17] = { { 243, 243, 243, 200, 200, 200, 200, 160, 160, 160, 160, 160, 160, 70, 70, 70, 5}, { 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6}, { 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35}, @@ -4181,11 +4176,11 @@ const u8 gUnknown_083ECDAC[][17] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60} }; -const u16 gUnknown_083ECE12[] = { +static const u16 gUnknown_083ECE12[] = { 0x80, 0xaf, 0xc8, 0xe1, 0x100 }; -const u16 gUnknown_083ECE1C[][2] = { +static const u16 gUnknown_083ECE1C[][2] = { {10, 5}, {10, 10}, {10, 15}, @@ -4193,36 +4188,36 @@ const u16 gUnknown_083ECE1C[][2] = { {10, 35} }; -const u16 gUnknown_083ECE30[] = { +static const u16 gUnknown_083ECE30[] = { 0, 5, 10, 15, 20 }; -const u8 gUnknown_083ECE3A[] = { +static const u8 gUnknown_083ECE3A[] = { 6, 4, 3, 2, 5, 0, 0, 0 }; -const u16 gUnknown_083ECE42[] = { +static const u16 gUnknown_083ECE42[] = { 0x80, 0x20, 0x40 }; -const u16 gUnknown_083ECE48[] = { +static const u16 gUnknown_083ECE48[] = { 0x10, 0x08, 0x04, 0x02, 0x01 }; -const u8 gUnknown_083ECE52[] = { +static const u8 gUnknown_083ECE52[] = { 7, 8, 4, 3, 0, 5, 2 }; -const u16 gUnknown_083ECE5A[] = { +static const u16 gUnknown_083ECE5A[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100 }; -const u16 gUnknown_083ECE6C[] = { +static const u16 gUnknown_083ECE6C[] = { 2, 4, 0, 6, 12, 3, 90, 300, 300 }; -const s16 gUnknown_083ECE7E[][2] = { +static const s16 gUnknown_083ECE7E[][2] = { { 0xd0, 0x38}, { 0xb8, 0x00}, { 0xc8, 0x08}, @@ -4260,7 +4255,7 @@ const s16 gUnknown_083ECE7E[][2] = { { 0x00, 0x00} }; -const SpriteCallback gUnknown_083ECF0C[] = { +static const SpriteCallback gUnknown_083ECF0C[] = { sub_8105C64, sub_8105F54, sub_8105F54, @@ -4363,7 +4358,7 @@ static const struct UnkStruct1 Unknown_83ED020[] = { {255, 0, 0} }; -const struct UnkStruct1 *const gUnknown_083ED048[] = { +static const struct UnkStruct1 *const gUnknown_083ED048[] = { Unknown_83ECF98, Unknown_83ECFA8, Unknown_83ECFC4, @@ -4373,7 +4368,7 @@ const struct UnkStruct1 *const gUnknown_083ED048[] = { Unknown_83ECFF8 }; -void (*const gUnknown_083ED064[])(void) = { +static void (*const gUnknown_083ED064[])(void) = { sub_810639C, sub_8106364, sub_8106370, @@ -4384,7 +4379,7 @@ void (*const gUnknown_083ED064[])(void) = { }; -const struct OamData gOamData_83ED080 = { +static const struct OamData gOamData_83ED080 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4400,7 +4395,7 @@ const struct OamData gOamData_83ED080 = { .affineParam = 0 }; -const struct OamData gOamData_83ED088 = { +static const struct OamData gOamData_83ED088 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4416,7 +4411,7 @@ const struct OamData gOamData_83ED088 = { .affineParam = 0 }; -const struct OamData gOamData_83ED090 = { +static const struct OamData gOamData_83ED090 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4432,7 +4427,7 @@ const struct OamData gOamData_83ED090 = { .affineParam = 0 }; -const struct OamData gOamData_83ED098 = { +static const struct OamData gOamData_83ED098 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4448,7 +4443,7 @@ const struct OamData gOamData_83ED098 = { .affineParam = 0 }; -const struct OamData gOamData_83ED0A0 = { +static const struct OamData gOamData_83ED0A0 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4464,7 +4459,7 @@ const struct OamData gOamData_83ED0A0 = { .affineParam = 0 }; -const struct OamData gOamData_83ED0A8 = { +static const struct OamData gOamData_83ED0A8 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4480,7 +4475,7 @@ const struct OamData gOamData_83ED0A8 = { .affineParam = 0 }; -const struct OamData gOamData_83ED0B0 = { +static const struct OamData gOamData_83ED0B0 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4496,7 +4491,7 @@ const struct OamData gOamData_83ED0B0 = { .affineParam = 0 }; -const struct OamData gOamData_83ED0B8 = { +static const struct OamData gOamData_83ED0B8 = { .y = 0x0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, @@ -4512,7 +4507,7 @@ const struct OamData gOamData_83ED0B8 = { .affineParam = 0 }; -const struct SpriteFrameImage gSpriteImageTable_83ED0C0[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED0C0[] = { {ewram13200 + 0x0000, 0x800}, {ewram13200 + 0x0800, 0x800}, {ewram13200 + 0x1000, 0x800}, @@ -4520,19 +4515,19 @@ const struct SpriteFrameImage gSpriteImageTable_83ED0C0[] = { {ewram13200 + 0x2000, 0x800} }; -const struct SpriteFrameImage gSpriteImageTable_83ED0E8[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED0E8[] = { {ewram13200 + 0x2800, 0x300} }; -const struct SpriteFrameImage gSpriteImageTable_83ED0F0[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED0F0[] = { {ewram13200 + 0x2B00, 0x500} }; -const struct SpriteFrameImage gSpriteImageTable_83ED0F8[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED0F8[] = { {ewram13200 + 0x3000, 0x600} }; -const struct SpriteFrameImage gSpriteImageTable_83ED100[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED100[] = { {gSpriteImage_8E988E8, 0x80}, {gSpriteImage_8E98968, 0x80}, {gSpriteImage_8E989E8, 0x80}, @@ -4541,83 +4536,83 @@ const struct SpriteFrameImage gSpriteImageTable_83ED100[] = { {gSpriteImage_8E98B68, 0x80} }; -const struct SpriteFrameImage gSpriteImageTable_83ED130[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED130[] = { {gSpriteImage_8E991E8, 0x200} }; -const struct SpriteFrameImage gSpriteImageTable_83ED138[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED138[] = { {gSpriteImage_8E99808, 0x40} }; -const struct SpriteFrameImage gSpriteImageTable_83ED140[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED140[] = { {gSpriteImage_8E98BE8, 0x100}, {gSpriteImage_8E98CE8, 0x100} }; -const struct SpriteFrameImage gSpriteImageTable_83ED150[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED150[] = { {gSpriteImage_8E993E8, 0x400} }; -const struct SpriteFrameImage gSpriteImageTable_83ED158[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED158[] = { {gSpriteImage_8E98DE8, 0x200}, {gSpriteImage_8E98FE8, 0x200} }; -const struct SpriteFrameImage gSpriteImageTable_83ED168[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED168[] = { {gSpriteImage_8E98848, 0x20} }; -const struct SpriteFrameImage gSpriteImageTable_83ED170[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED170[] = { {gSpriteImage_8E98868, 0x80} }; -const struct SpriteFrameImage gSpriteImageTable_83ED178[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED178[] = { {ewram10000 + 0x0000, 0x600} }; -const struct SpriteFrameImage gSpriteImageTable_83ED180[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED180[] = { {ewram10000 + 0x0600, 0x200} }; -const struct SpriteFrameImage gSpriteImageTable_83ED188[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED188[] = { {ewram10000 + 0x0800, 0x200} }; -const struct SpriteFrameImage gSpriteImageTable_83ED190[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED190[] = { {ewram10000 + 0x0A00, 0x200} }; -const struct SpriteFrameImage gSpriteImageTable_83ED198[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED198[] = { {ewram10000 + 0x0C00, 0x300} }; -const struct SpriteFrameImage gSpriteImageTable_83ED1A0[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1A0[] = { {ewram10000 + 0x1000, 0x400} }; -const struct SpriteFrameImage gSpriteImageTable_83ED1A8[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1A8[] = { {ewram10000 + 0x1400, 0x200} }; -const struct SpriteFrameImage gSpriteImageTable_83ED1B0[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1B0[] = { {ewram10000 + 0x1600, 0x300} }; -const struct SpriteFrameImage gSpriteImageTable_83ED1B8[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1B8[] = { {ewram10000 + 0x1900, 0x300} }; -const struct SpriteFrameImage gSpriteImageTable_83ED1C0[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1C0[] = { {ewram10000 + 0x1C00, 0x200}, {ewram10000 + 0x1E00, 0x200}, {ewram10000 + 0x1E00, 0x200} // is this a typo? }; -const struct SpriteFrameImage gSpriteImageTable_83ED1D8[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1D8[] = { {ewram10000 + 0x2000, 0x280} }; -const struct SpriteFrameImage gSpriteImageTable_83ED1E0[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED1E0[] = { {ewram10000 + 0x2280, 0x80}, {ewram10000 + 0x2300, 0x80}, {ewram10000 + 0x2380, 0x80}, @@ -4625,124 +4620,124 @@ const struct SpriteFrameImage gSpriteImageTable_83ED1E0[] = { {ewram10000 + 0x2480, 0x80} }; -const struct SpriteFrameImage gSpriteImageTable_83ED208[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED208[] = { {ewram10000 + 0x2600, 0x480}, {ewram10000 + 0x2A80, 0x480} }; -const struct SpriteFrameImage gSpriteImageTable_83ED218[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED218[] = { {ewram10000 + 0x2F00, 0x180}, {ewram10000 + 0x3080, 0x180} }; -const struct SpriteFrameImage gSpriteImageTable_83ED228[] = { +static const struct SpriteFrameImage gSpriteImageTable_83ED228[] = { {gSpriteImage_8E98828, 0x20} }; -const union AnimCmd gSpriteAnim_83ED230[] = { +static const union AnimCmd gSpriteAnim_83ED230[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED238[] = { +static const union AnimCmd gSpriteAnim_83ED238[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED240[] = { +static const union AnimCmd gSpriteAnim_83ED240[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED248[] = { +static const union AnimCmd gSpriteAnim_83ED248[] = { ANIMCMD_FRAME(1, 16), ANIMCMD_FRAME(0, 16), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED254[] = { +static const union AnimCmd gSpriteAnim_83ED254[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED260[] = { +static const union AnimCmd gSpriteAnim_83ED260[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED26C[] = { +static const union AnimCmd gSpriteAnim_83ED26C[] = { ANIMCMD_FRAME(2, 32), ANIMCMD_FRAME(3, 32), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED278[] = { +static const union AnimCmd gSpriteAnim_83ED278[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED280[] = { +static const union AnimCmd gSpriteAnim_83ED280[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED288[] = { +static const union AnimCmd gSpriteAnim_83ED288[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED290[] = { +static const union AnimCmd gSpriteAnim_83ED290[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED298[] = { +static const union AnimCmd gSpriteAnim_83ED298[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED2A0[] = { +static const union AnimCmd gSpriteAnim_83ED2A0[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED2A8[] = { +static const union AnimCmd gSpriteAnim_83ED2A8[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED2B0[] = { +static const union AnimCmd gSpriteAnim_83ED2B0[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED2BC[] = { +static const union AnimCmd gSpriteAnim_83ED2BC[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED2C8[] = { +static const union AnimCmd gSpriteAnim_83ED2C8[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED2D4[] = { +static const union AnimCmd gSpriteAnim_83ED2D4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED2DC[] = { +static const union AnimCmd gSpriteAnim_83ED2DC[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED2E8[] = { +static const union AnimCmd gSpriteAnim_83ED2E8[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), ANIMCMD_FRAME(0, 16), @@ -4750,45 +4745,45 @@ const union AnimCmd gSpriteAnim_83ED2E8[] = { ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_83ED2FC[] = { +static const union AnimCmd gSpriteAnim_83ED2FC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED304[] = { +static const union AnimCmd gSpriteAnim_83ED304[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED30C[] = { +static const union AnimCmd gSpriteAnim_83ED30C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED314[] = { +static const union AnimCmd gSpriteAnim_83ED314[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED31C[] = { +static const union AnimCmd gSpriteAnim_83ED31C[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END }; -const union AnimCmd gSpriteAnim_83ED324[] = { +static const union AnimCmd gSpriteAnim_83ED324[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END }; -const union AnimCmd *const gSpriteAnimTable_83ED32C[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED32C[] = { gSpriteAnim_83ED230 }; -const union AnimCmd *const gSpriteAnimTable_83ED330[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED330[] = { gSpriteAnim_83ED238 }; -const union AnimCmd *const gSpriteAnimTable_83ED334[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED334[] = { gSpriteAnim_83ED240, gSpriteAnim_83ED248, gSpriteAnim_83ED254, @@ -4797,7 +4792,7 @@ const union AnimCmd *const gSpriteAnimTable_83ED334[] = { gSpriteAnim_83ED278 }; -const union AnimCmd *const gSpriteAnimTable_83ED34C[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED34C[] = { gSpriteAnim_83ED280, gSpriteAnim_83ED288, gSpriteAnim_83ED290, @@ -4806,29 +4801,29 @@ const union AnimCmd *const gSpriteAnimTable_83ED34C[] = { gSpriteAnim_83ED2A8 }; -const union AnimCmd *const gSpriteAnimTable_83ED364[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED364[] = { gSpriteAnim_83ED2B0 }; -const union AnimCmd *const gSpriteAnimTable_83ED368[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED368[] = { gSpriteAnim_83ED2BC }; -const union AnimCmd *const gSpriteAnimTable_83ED36C[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED36C[] = { gSpriteAnim_83ED2C8, gSpriteAnim_83ED2D4 }; -const union AnimCmd *const gSpriteAnimTable_83ED374[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED374[] = { gSpriteAnim_83ED2DC }; -const union AnimCmd *const gSpriteAnimTable_83ED378[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED378[] = { gSpriteAnim_83ED2E8, gSpriteAnim_83ED2FC }; -const union AnimCmd *const gSpriteAnimTable_83ED380[] = { +static const union AnimCmd *const gSpriteAnimTable_83ED380[] = { gSpriteAnim_83ED304, gSpriteAnim_83ED30C, gSpriteAnim_83ED314, @@ -4836,7 +4831,7 @@ const union AnimCmd *const gSpriteAnimTable_83ED380[] = { gSpriteAnim_83ED324 }; -const union AffineAnimCmd gSpriteAffineAnim_83ED394[] = { +static const union AffineAnimCmd gSpriteAffineAnim_83ED394[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_LOOP(0), AFFINEANIMCMD_FRAME(0x1, 0x1, 0, 1), @@ -4844,11 +4839,11 @@ const union AffineAnimCmd gSpriteAffineAnim_83ED394[] = { AFFINEANIMCMD_END }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83ED3BC[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83ED3BC[] = { gSpriteAffineAnim_83ED394 }; -const union AffineAnimCmd gSpriteAffineAnim_83ED3C0[] = { +static const union AffineAnimCmd gSpriteAffineAnim_83ED3C0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 32), AFFINEANIMCMD_FRAME(0x0, 0x0, 6, 32), AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 16), @@ -4861,142 +4856,142 @@ const union AffineAnimCmd gSpriteAffineAnim_83ED3C0[] = { AFFINEANIMCMD_END }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83ED410[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83ED410[] = { gSpriteAffineAnim_83ED3C0 }; -const struct SpriteTemplate gSpriteTemplate_83ED414 = { +static const struct SpriteTemplate gSpriteTemplate_83ED414 = { 0, 0, &gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18 }; -const struct SpriteTemplate gSpriteTemplate_83ED42C = { +static const struct SpriteTemplate gSpriteTemplate_83ED42C = { 7, 4, &gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C }; -const struct SpriteTemplate gSpriteTemplate_83ED444 = { +static const struct SpriteTemplate gSpriteTemplate_83ED444 = { 17, 0, &gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED45C = { +static const struct SpriteTemplate gSpriteTemplate_83ED45C = { 0xFFFF, 1, &gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170 }; -const struct SpriteTemplate gSpriteTemplate_83ED474 = { +static const struct SpriteTemplate gSpriteTemplate_83ED474 = { 0xFFFF, 2, &gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED48C = { +static const struct SpriteTemplate gSpriteTemplate_83ED48C = { 0xFFFF, 3, &gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED4A4 = { +static const struct SpriteTemplate gSpriteTemplate_83ED4A4 = { 0xFFFF, 3, &gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED4BC = { +static const struct SpriteTemplate gSpriteTemplate_83ED4BC = { 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C }; -const struct SpriteTemplate gSpriteTemplate_83ED4D4 = { +static const struct SpriteTemplate gSpriteTemplate_83ED4D4 = { 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED4EC = { +static const struct SpriteTemplate gSpriteTemplate_83ED4EC = { 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED504 = { +static const struct SpriteTemplate gSpriteTemplate_83ED504 = { 0xFFFF, 4, &gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C }; -const struct SpriteTemplate gSpriteTemplate_83ED51C = { +static const struct SpriteTemplate gSpriteTemplate_83ED51C = { 0xFFFF, 7, &gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784 }; -const struct SpriteTemplate gSpriteTemplate_83ED534 = { +static const struct SpriteTemplate gSpriteTemplate_83ED534 = { 0xFFFF, 5, &gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894 }; -const struct SpriteTemplate gSpriteTemplate_83ED54C = { +static const struct SpriteTemplate gSpriteTemplate_83ED54C = { 0xFFFF, 4, &gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C }; -const struct SpriteTemplate gSpriteTemplate_83ED564 = { +static const struct SpriteTemplate gSpriteTemplate_83ED564 = { 0xFFFF, 4, &gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38 }; -const struct SpriteTemplate gSpriteTemplate_83ED57C = { +static const struct SpriteTemplate gSpriteTemplate_83ED57C = { 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED594 = { +static const struct SpriteTemplate gSpriteTemplate_83ED594 = { 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED5AC = { +static const struct SpriteTemplate gSpriteTemplate_83ED5AC = { 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED5C4 = { +static const struct SpriteTemplate gSpriteTemplate_83ED5C4 = { 18, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED5DC = { +static const struct SpriteTemplate gSpriteTemplate_83ED5DC = { 0xFFFF, 6, &gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED5F4 = { +static const struct SpriteTemplate gSpriteTemplate_83ED5F4 = { 0xFFFF, 6, &gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED60C = { +static const struct SpriteTemplate gSpriteTemplate_83ED60C = { 19, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED624 = { +static const struct SpriteTemplate gSpriteTemplate_83ED624 = { 20, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED63C = { +static const struct SpriteTemplate gSpriteTemplate_83ED63C = { 21, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED654 = { +static const struct SpriteTemplate gSpriteTemplate_83ED654 = { 0xFFFF, 6, &gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED66C = { +static const struct SpriteTemplate gSpriteTemplate_83ED66C = { 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED684 = { +static const struct SpriteTemplate gSpriteTemplate_83ED684 = { 0xFFFF, 6, &gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED69C = { +static const struct SpriteTemplate gSpriteTemplate_83ED69C = { 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED6B4 = { +static const struct SpriteTemplate gSpriteTemplate_83ED6B4 = { 0xFFFF, 6, &gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate gSpriteTemplate_83ED6CC = { +static const struct SpriteTemplate gSpriteTemplate_83ED6CC = { 0xFFFF, 4, &gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70 }; -const struct Subsprite gSubspriteTable_83ED6E4[] = { +static const struct Subsprite gSubspriteTable_83ED6E4[] = { {-64, -64, ST_OAM_SQUARE, 3, 0x0, 3}, {0, -64, ST_OAM_SQUARE, 3, 0x0, 3}, {-64, 0, ST_OAM_SQUARE, 3, 0x0, 3}, {0, 0, ST_OAM_SQUARE, 3, 0x0, 3} }; -const struct SubspriteTable gSubspriteTables_83ED704[] = { +static const struct SubspriteTable gSubspriteTables_83ED704[] = { {4, gSubspriteTable_83ED6E4} }; -const struct Subsprite gSubspriteTable_83ED70C[] = { +static const struct Subsprite gSubspriteTable_83ED70C[] = { {-32, -12, ST_OAM_H_RECTANGLE, 1, 0x0, 1}, {0, -12, ST_OAM_H_RECTANGLE, 1, 0x4, 1}, {-32, -4, ST_OAM_H_RECTANGLE, 1, 0x8, 1}, @@ -5005,21 +5000,21 @@ const struct Subsprite gSubspriteTable_83ED70C[] = { {0, 4, ST_OAM_H_RECTANGLE, 1, 0x14, 1} }; -const struct SubspriteTable gSubspriteTables_83ED73C[] = { +static const struct SubspriteTable gSubspriteTables_83ED73C[] = { {6, gSubspriteTable_83ED70C} }; -const struct Subsprite gSubspriteTable_83ED744[] = { +static const struct Subsprite gSubspriteTable_83ED744[] = { {-32, -20, ST_OAM_H_RECTANGLE, 3, 0x0, 1}, {-32, 12, ST_OAM_H_RECTANGLE, 1, 0x20, 1}, {0, 12, ST_OAM_H_RECTANGLE, 1, 0x24, 1} }; -const struct SubspriteTable gSubspriteTables_83ED75C[] = { +static const struct SubspriteTable gSubspriteTables_83ED75C[] = { {3, gSubspriteTable_83ED744} }; -const struct Subsprite gSubspriteTable_83ED764[] = { +static const struct Subsprite gSubspriteTable_83ED764[] = { {-32, -24, ST_OAM_H_RECTANGLE, 3, 0x0, 1}, {-32, 8, ST_OAM_H_RECTANGLE, 1, 0x20, 1}, {0, 8, ST_OAM_H_RECTANGLE, 1, 0x24, 1}, @@ -5027,32 +5022,32 @@ const struct Subsprite gSubspriteTable_83ED764[] = { {0, 16, ST_OAM_H_RECTANGLE, 1, 0x2c, 1} }; -const struct SubspriteTable gSubspriteTables_83ED78C[] = { +static const struct SubspriteTable gSubspriteTables_83ED78C[] = { {5, gSubspriteTable_83ED764} }; -const struct Subsprite gSubspriteTable_83ED794[] = { +static const struct Subsprite gSubspriteTable_83ED794[] = { {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 1}, {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 1}, {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 1}, {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 1} }; -const struct SubspriteTable gSubspriteTables_83ED7B4[] = { +static const struct SubspriteTable gSubspriteTables_83ED7B4[] = { {4, gSubspriteTable_83ED794} }; -const struct Subsprite gSubspriteTable_83ED7BC[] = { +static const struct Subsprite gSubspriteTable_83ED7BC[] = { {-8, -12, ST_OAM_H_RECTANGLE, 0, 0x0, 1}, {-8, -4, ST_OAM_H_RECTANGLE, 0, 0x0, 1}, {-8, 4, ST_OAM_H_RECTANGLE, 0, 0x0, 1} }; -const struct SubspriteTable gSubspriteTables_83ED7D4[] = { +static const struct SubspriteTable gSubspriteTables_83ED7D4[] = { {3, gSubspriteTable_83ED7BC} }; -const struct Subsprite gSubspriteTable_83ED7DC[] = { +static const struct Subsprite gSubspriteTable_83ED7DC[] = { {-32, -24, ST_OAM_H_RECTANGLE, 3, 0x0, 3}, {-32, 8, ST_OAM_H_RECTANGLE, 1, 0x20, 3}, {0, 8, ST_OAM_H_RECTANGLE, 1, 0x24, 3}, @@ -5060,44 +5055,44 @@ const struct Subsprite gSubspriteTable_83ED7DC[] = { {0, 16, ST_OAM_H_RECTANGLE, 1, 0x2c, 3} }; -const struct SubspriteTable gSubspriteTables_83ED804[] = { +static const struct SubspriteTable gSubspriteTables_83ED804[] = { {5, gSubspriteTable_83ED7DC} }; -const struct Subsprite gSubspriteTable_83ED80C[] = { +static const struct Subsprite gSubspriteTable_83ED80C[] = { {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 3} }; -const struct SubspriteTable gSubspriteTables_83ED82C[] = { +static const struct SubspriteTable gSubspriteTables_83ED82C[] = { {4, gSubspriteTable_83ED80C} }; -const struct Subsprite gSubspriteTable_83ED834[] = { +static const struct Subsprite gSubspriteTable_83ED834[] = { {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 3} }; -const struct SubspriteTable gSubspriteTables_83ED854[] = { +static const struct SubspriteTable gSubspriteTables_83ED854[] = { {4, gSubspriteTable_83ED834} }; -const struct Subsprite gSubspriteTable_83ED85C[] = { +static const struct Subsprite gSubspriteTable_83ED85C[] = { {-32, -8, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, {0, -8, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, {-32, 0, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, {0, 0, ST_OAM_H_RECTANGLE, 1, 0xc, 3} }; -const struct SubspriteTable gSubspriteTables_83ED87C[] = { +static const struct SubspriteTable gSubspriteTables_83ED87C[] = { {4, gSubspriteTable_83ED85C} }; -const struct Subsprite gSubspriteTable_83ED884[] = { +static const struct Subsprite gSubspriteTable_83ED884[] = { {-32, -12, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, {0, -12, ST_OAM_H_RECTANGLE, 1, 0x4, 3}, {-32, -4, ST_OAM_H_RECTANGLE, 1, 0x8, 3}, @@ -5106,24 +5101,24 @@ const struct Subsprite gSubspriteTable_83ED884[] = { {0, 4, ST_OAM_H_RECTANGLE, 1, 0x14, 3} }; -const struct SubspriteTable gSubspriteTables_83ED8B4[] = { +static const struct SubspriteTable gSubspriteTables_83ED8B4[] = { {6, gSubspriteTable_83ED884} }; -const struct Subsprite gSubspriteTable_83ED8BC[] = { +static const struct Subsprite gSubspriteTable_83ED8BC[] = { {-16, -16, ST_OAM_SQUARE, 2, 0x0, 3} }; -const struct Subsprite gSubspriteTable_83ED8C4[] = { +static const struct Subsprite gSubspriteTable_83ED8C4[] = { {-8, -8, ST_OAM_SQUARE, 1, 0x10, 3} }; -const struct SubspriteTable gSubspriteTables_83ED8CC[] = { +static const struct SubspriteTable gSubspriteTables_83ED8CC[] = { {1, gSubspriteTable_83ED8BC}, {1, gSubspriteTable_83ED8C4} }; -const struct Subsprite gSubspriteTable_83ED8DC[] = { +static const struct Subsprite gSubspriteTable_83ED8DC[] = { {-24, -24, ST_OAM_H_RECTANGLE, 1, 0x0, 3}, {8, -24, ST_OAM_H_RECTANGLE, 0, 0x4, 3}, {-24, -16, ST_OAM_H_RECTANGLE, 1, 0x6, 3}, @@ -5138,102 +5133,102 @@ const struct Subsprite gSubspriteTable_83ED8DC[] = { {8, 16, ST_OAM_H_RECTANGLE, 0, 0x22, 3} }; -const struct SubspriteTable gSubspriteTables_83ED93C[] = { +static const struct SubspriteTable gSubspriteTables_83ED93C[] = { 12, gSubspriteTable_83ED8DC }; -const struct Subsprite gSubspriteTable_83ED944[] = { +static const struct Subsprite gSubspriteTable_83ED944[] = { {-16, -12, ST_OAM_H_RECTANGLE, 2, 0x0, 3}, {-16, 4, ST_OAM_H_RECTANGLE, 0, 0x8, 3}, {0, 4, ST_OAM_H_RECTANGLE, 0, 0xa, 3} }; -const struct SubspriteTable gSubspriteTables_83ED95C[] = { +static const struct SubspriteTable gSubspriteTables_83ED95C[] = { {3, gSubspriteTable_83ED944} }; -const struct Subsprite gSubspriteTable_83ED964[] = { +static const struct Subsprite gSubspriteTable_83ED964[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0x8, 3} }; -const struct SubspriteTable gSubspriteTables_83ED974[] = { +static const struct SubspriteTable gSubspriteTables_83ED974[] = { {2, gSubspriteTable_83ED964} }; -const struct Subsprite gSubspriteTable_83ED97C[] = { +static const struct Subsprite gSubspriteTable_83ED97C[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x2, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xa, 3} }; -const struct SubspriteTable gSubspriteTables_83ED98C[] = { +static const struct SubspriteTable gSubspriteTables_83ED98C[] = { {2, gSubspriteTable_83ED97C} }; -const struct Subsprite gSubspriteTable_83ED994[] = { +static const struct Subsprite gSubspriteTable_83ED994[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x4, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xc, 3} }; -const struct SubspriteTable gSubspriteTables_83ED9A4[] = { +static const struct SubspriteTable gSubspriteTables_83ED9A4[] = { {2, gSubspriteTable_83ED994} }; -const struct Subsprite gSubspriteTable_83ED9AC[] = { +static const struct Subsprite gSubspriteTable_83ED9AC[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x6, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xe, 3} }; -const struct SubspriteTable gSubspriteTables_83ED9BC[] = { +static const struct SubspriteTable gSubspriteTables_83ED9BC[] = { {2, gSubspriteTable_83ED9AC} }; -const struct Subsprite gSubspriteTable_83ED9C4[] = { +static const struct Subsprite gSubspriteTable_83ED9C4[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0x8, 3} }; -const struct SubspriteTable gSubspriteTables_83ED9D4[] = { +static const struct SubspriteTable gSubspriteTables_83ED9D4[] = { {2, gSubspriteTable_83ED9C4} }; -const struct Subsprite gSubspriteTable_83ED9DC[] = { +static const struct Subsprite gSubspriteTable_83ED9DC[] = { {-4, -8, ST_OAM_SQUARE, 0, 0x2, 3}, {-4, 0, ST_OAM_SQUARE, 0, 0xa, 3} }; -const struct SubspriteTable gSubspriteTables_83ED9EC[] = { +static const struct SubspriteTable gSubspriteTables_83ED9EC[] = { {2, gSubspriteTable_83ED9DC} }; -const struct Subsprite gSubspriteTable_83ED9F4[] = { +static const struct Subsprite gSubspriteTable_83ED9F4[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x3, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xb, 3} }; -const struct SubspriteTable gSubspriteTables_83EDA04[] = { +static const struct SubspriteTable gSubspriteTables_83EDA04[] = { {2, gSubspriteTable_83ED9F4} }; -const struct Subsprite gSubspriteTable_83EDA0C[] = { +static const struct Subsprite gSubspriteTable_83EDA0C[] = { {-4, -8, ST_OAM_SQUARE, 0, 0x5, 3}, {-4, 0, ST_OAM_SQUARE, 0, 0xd, 3} }; -const struct SubspriteTable gSubspriteTables_83EDA1C[] = { +static const struct SubspriteTable gSubspriteTables_83EDA1C[] = { {2, gSubspriteTable_83EDA0C} }; -const struct Subsprite gSubspriteTable_83EDA24[] = { +static const struct Subsprite gSubspriteTable_83EDA24[] = { {-8, -8, ST_OAM_H_RECTANGLE, 0, 0x6, 3}, {-8, 0, ST_OAM_H_RECTANGLE, 0, 0xe, 3} }; -const struct SubspriteTable gSubspriteTables_83EDA34[] = { +static const struct SubspriteTable gSubspriteTables_83EDA34[] = { {2, gSubspriteTable_83EDA24} }; -const struct Subsprite gSubspriteTable_83EDA3C[] = { +static const struct Subsprite gSubspriteTable_83EDA3C[] = { {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, {4, -12, ST_OAM_SQUARE, 0, 0x2, 3}, {-12, -4, ST_OAM_H_RECTANGLE, 0, 0x8, 3}, @@ -5242,21 +5237,21 @@ const struct Subsprite gSubspriteTable_83EDA3C[] = { {4, 4, ST_OAM_SQUARE, 0, 0x12, 3} }; -const struct SubspriteTable gSubspriteTables_83EDA6C[] = { +static const struct SubspriteTable gSubspriteTables_83EDA6C[] = { {6, gSubspriteTable_83EDA3C} }; -const struct Subsprite gSubspriteTable_83EDA74[] = { +static const struct Subsprite gSubspriteTable_83EDA74[] = { {-8, -12, ST_OAM_H_RECTANGLE, 0, 0x3, 3}, {-8, -4, ST_OAM_H_RECTANGLE, 0, 0xb, 3}, {-8, 4, ST_OAM_H_RECTANGLE, 0, 0x13, 3} }; -const struct SubspriteTable gSubspriteTables_83EDA8C[] = { +static const struct SubspriteTable gSubspriteTables_83EDA8C[] = { {3, gSubspriteTable_83EDA74} }; -const struct Subsprite gSubspriteTable_83EDA94[] = { +static const struct Subsprite gSubspriteTable_83EDA94[] = { {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x5, 3}, {4, -12, ST_OAM_SQUARE, 0, 0x7, 3}, {-12, -4, ST_OAM_H_RECTANGLE, 0, 0xd, 3}, @@ -5265,11 +5260,11 @@ const struct Subsprite gSubspriteTable_83EDA94[] = { {4, 4, ST_OAM_SQUARE, 0, 0x17, 3} }; -const struct SubspriteTable gSubspriteTables_83EDAC4[] = { +static const struct SubspriteTable gSubspriteTables_83EDAC4[] = { {6, gSubspriteTable_83EDA94} }; -const struct Subsprite gSubspriteTable_83EDACC[] = { +static const struct Subsprite gSubspriteTable_83EDACC[] = { {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x0, 3}, {4, -12, ST_OAM_SQUARE, 0, 0x2, 3}, {-12, -4, ST_OAM_H_RECTANGLE, 0, 0x8, 3}, @@ -5278,21 +5273,21 @@ const struct Subsprite gSubspriteTable_83EDACC[] = { {4, 4, ST_OAM_SQUARE, 0, 0x12, 3} }; -const struct SubspriteTable gSubspriteTables_83EDAFC[] = { +static const struct SubspriteTable gSubspriteTables_83EDAFC[] = { {6, gSubspriteTable_83EDACC} }; -const struct Subsprite gSubspriteTable_83EDB04[] = { +static const struct Subsprite gSubspriteTable_83EDB04[] = { {-8, -12, ST_OAM_H_RECTANGLE, 0, 0x3, 3}, {-8, -4, ST_OAM_H_RECTANGLE, 0, 0xb, 3}, {-8, 4, ST_OAM_H_RECTANGLE, 0, 0x13, 3} }; -const struct SubspriteTable gSubspriteTables_83EDB1C[] = { +static const struct SubspriteTable gSubspriteTables_83EDB1C[] = { {3, gSubspriteTable_83EDB04} }; -const struct Subsprite gSubspriteTable_83EDB24[] = { +static const struct Subsprite gSubspriteTable_83EDB24[] = { {-12, -12, ST_OAM_H_RECTANGLE, 0, 0x5, 3}, {4, -12, ST_OAM_SQUARE, 0, 0x7, 3}, {-12, -4, ST_OAM_H_RECTANGLE, 0, 0xd, 3}, @@ -5301,11 +5296,11 @@ const struct Subsprite gSubspriteTable_83EDB24[] = { {4, 4, ST_OAM_SQUARE, 0, 0x17, 3} }; -const struct SubspriteTable gSubspriteTables_83EDB54[] = { +static const struct SubspriteTable gSubspriteTables_83EDB54[] = { {6, gSubspriteTable_83EDB24} }; -const struct SpriteTemplate *const gUnknown_083EDB5C[] = { +static const struct SpriteTemplate *const gUnknown_083EDB5C[] = { &gSpriteTemplate_83ED57C, &gSpriteTemplate_83ED594, &gSpriteTemplate_83ED5AC, @@ -5334,7 +5329,7 @@ const struct SpriteTemplate *const gUnknown_083EDB5C[] = { &gDummySpriteTemplate }; -const struct SubspriteTable *const gUnknown_083EDBC4[] = { +static const struct SubspriteTable *const gUnknown_083EDBC4[] = { gSubspriteTables_83ED804, gSubspriteTables_83ED82C, gSubspriteTables_83ED854, @@ -5363,7 +5358,7 @@ const struct SubspriteTable *const gUnknown_083EDBC4[] = { NULL }; -const struct SpriteSheet gUnknown_083EDC2C[] = { +static const struct SpriteSheet gUnknown_083EDC2C[] = { {gSlotMachineReelSymbol1Tiles, 0x200, 0}, {gSlotMachineReelSymbol2Tiles, 0x200, 1}, {gSlotMachineReelSymbol3Tiles, 0x200, 2}, @@ -5388,19 +5383,19 @@ const struct SpriteSheet gUnknown_083EDC2C[] = { {} }; -const struct SpriteSheet gUnknown_083EDCDC = { +static const struct SpriteSheet gUnknown_083EDCDC = { ewram10000 + 0x0000, 0x800, 17 }; -const u8 *const gUnknown_083EDCE4 = gUnknownPalette_08E997E8; +static const u8 *const gUnknown_083EDCE4 = gUnknownPalette_08E997E8; #ifdef SAPPHIRE -const u16 UnknownPalette_83EDCE8[] = INCBIN_U16("graphics/unknown/sapphire_83EDD40.gbapal"); +static const u16 UnknownPalette_83EDCE8[] = INCBIN_U16("graphics/unknown/sapphire_83EDD40.gbapal"); #elif defined(RUBY) -const u16 UnknownPalette_83EDCE8[] = INCBIN_U16("graphics/unknown/ruby_83EDCE8.gbapal"); +static const u16 UnknownPalette_83EDCE8[] = INCBIN_U16("graphics/unknown/ruby_83EDCE8.gbapal"); #endif // RS -const u16 *const gUnknown_083EDD08[] = { +static const u16 *const gUnknown_083EDD08[] = { UnknownPalette_83EDCE8 + 10, UnknownPalette_83EDCE8 + 11, UnknownPalette_83EDCE8 + 12, @@ -5408,7 +5403,7 @@ const u16 *const gUnknown_083EDD08[] = { UnknownPalette_83EDCE8 + 14 }; -const u16 *const gUnknown_083EDD1C[] = { +static const u16 *const gUnknown_083EDD1C[] = { gUnknown_08E95A18 + 74, gUnknown_08E95A18 + 75, gUnknown_08E95A18 + 76, @@ -5416,51 +5411,51 @@ const u16 *const gUnknown_083EDD1C[] = { gUnknown_08E95A18 + 78 }; -const u8 gUnknown_083EDD30[] = { +static const u8 gUnknown_083EDD30[] = { 0x4a, 0x4b, 0x4c, 0x4e, 0x4d }; -const u8 gUnknown_083EDD35[][2] = { +static const u8 gUnknown_083EDD35[][2] = { {0, 0}, {1, 2}, {3, 4} }; -const u8 gUnknown_083EDD3B[] = {1, 2, 2}; +static const u8 gUnknown_083EDD3B[] = {1, 2, 2}; #ifdef SAPPHIRE -const u16 Unknown_83EDD3E[] = INCBIN_U16("graphics/unknown/sapphire_83EDD96.gbapal"); -const u16 Unknown_83EDD5E[] = INCBIN_U16("graphics/unknown/sapphire_83EDDB6.gbapal"); -const u16 Unknown_83EDD7E[] = INCBIN_U16("graphics/unknown/sapphire_83EDDD6.gbapal"); +static const u16 Unknown_83EDD3E[] = INCBIN_U16("graphics/unknown/sapphire_83EDD96.gbapal"); +static const u16 Unknown_83EDD5E[] = INCBIN_U16("graphics/unknown/sapphire_83EDDB6.gbapal"); +static const u16 Unknown_83EDD7E[] = INCBIN_U16("graphics/unknown/sapphire_83EDDD6.gbapal"); #elif defined (RUBY) -const u16 Unknown_83EDD3E[] = INCBIN_U16("graphics/unknown/ruby_83EDD3E.gbapal"); -const u16 Unknown_83EDD5E[] = INCBIN_U16("graphics/unknown/ruby_83EDD5E.gbapal"); -const u16 Unknown_83EDD7E[] = INCBIN_U16("graphics/unknown/ruby_83EDD7E.gbapal"); +static const u16 Unknown_83EDD3E[] = INCBIN_U16("graphics/unknown/ruby_83EDD3E.gbapal"); +static const u16 Unknown_83EDD5E[] = INCBIN_U16("graphics/unknown/ruby_83EDD5E.gbapal"); +static const u16 Unknown_83EDD7E[] = INCBIN_U16("graphics/unknown/ruby_83EDD7E.gbapal"); #endif // RS -const u16 *const gUnknown_083EDDA0[] = { +static const u16 *const gUnknown_083EDDA0[] = { Unknown_83EDD3E, Unknown_83EDD5E, Unknown_83EDD7E }; -const u16 *const gUnknown_083EDDAC = gUnknown_08E95A18 + 16; +static const u16 *const gUnknown_083EDDAC = gUnknown_08E95A18 + 16; -const u16 Palette_83EDDB0[] = INCBIN_U16("graphics/slot_machine/83EDDB0.gbapal"); -const u16 Palette_83EDDD0[] = INCBIN_U16("graphics/slot_machine/83EDDD0.gbapal"); -const u16 Palette_83EDDF0[] = INCBIN_U16("graphics/slot_machine/83EDDF0.gbapal"); +static const u16 Palette_83EDDB0[] = INCBIN_U16("graphics/slot_machine/83EDDB0.gbapal"); +static const u16 Palette_83EDDD0[] = INCBIN_U16("graphics/slot_machine/83EDDD0.gbapal"); +static const u16 Palette_83EDDF0[] = INCBIN_U16("graphics/slot_machine/83EDDF0.gbapal"); -const u16 *const gUnknown_083EDE10[] = { +static const u16 *const gUnknown_083EDE10[] = { Palette_83EDDB0, Palette_83EDDD0, Palette_83EDDF0, gSlotMachineSpritePalette6 }; -const u16 *const gUnknown_083EDE20 = gSlotMachineSpritePalette6; +static const u16 *const gUnknown_083EDE20 = gSlotMachineSpritePalette6; -const u16 gPalette_83EDE24[] = INCBIN_U16("graphics/slot_machine/83EDE24_pal.bin"); +static const u16 gPalette_83EDE24[] = INCBIN_U16("graphics/slot_machine/83EDE24_pal.bin"); -const struct SpritePalette gSlotMachineSpritePalettes[] = { +static const struct SpritePalette gSlotMachineSpritePalettes[] = { {gSlotMachineSpritePalette0, 0}, {gSlotMachineSpritePalette1, 1}, {gSlotMachineSpritePalette2, 2}, @@ -5472,6 +5467,6 @@ const struct SpritePalette gSlotMachineSpritePalettes[] = { {} }; -const u8 gUnknown_083EDE8C[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); +static const u8 gUnknown_083EDE8C[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); -const u16 gReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/reel_time_window_map.bin"); +static const u16 gReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/reel_time_window_map.bin"); -- cgit v1.2.3 From 0a70c2c6938c260bd8d1d036660891beb26c5820 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 17:17:42 -0500 Subject: Get sub_8103668 matching --- include/ewram.h | 4 +- include/slot_machine.h | 33 ++- src/field/slot_machine.c | 535 ++++++++++++++++++----------------------------- 3 files changed, 232 insertions(+), 340 deletions(-) diff --git a/include/ewram.h b/include/ewram.h index 7b480a0e8..5a350840a 100755 --- a/include/ewram.h +++ b/include/ewram.h @@ -70,7 +70,7 @@ extern u8 gSharedMem[]; #define ewramF800 (&gSharedMem[0xF800]) #define ewram_2010000 (*(struct TradeEwramStruct *)(gSharedMem + 0x10000)) #define ewram10000 (&gSharedMem[0x10000]) -#define ewram10000_2 (void *)(gSharedMem + 0x10000) // slot machine +#define eSlotMachineGfxBuffer (void *)(gSharedMem + 0x10000) // slot machine #define ePokedexPalAddr3 (void *)(gSharedMem + 0x10000) #define ewram10800 (&gSharedMem[0x10800]) #define ewram11000 (&gSharedMem[0x11000]) @@ -78,7 +78,7 @@ extern u8 gSharedMem[]; #define ewram12000 (&gSharedMem[0x12000]) #define ewram12800 (&gSharedMem[0x12800]) #define ewram13000 (&gSharedMem[0x13000]) -#define ewram13200 (&gSharedMem[0x13200]) +#define eSlotMachineReelTimeGfxBuffer (&gSharedMem[0x13200]) #define ewram13800 (&gSharedMem[0x13800]) #define EWRAM_14000 ((u8 *)(gSharedMem + 0x14000)) #define ewram14000 (&gSharedMem[0x14000]) diff --git a/include/slot_machine.h b/include/slot_machine.h index 34431a8ef..5588d2bac 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,29 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H +enum { + SLOT_MACHINE_SYM_7_RED, + SLOT_MACHINE_SYM_7_BLUE, + SLOT_MACHINE_SYM_AZURILL, + SLOT_MACHINE_SYM_LOTAD, + SLOT_MACHINE_SYM_CHERRY, + SLOT_MACHINE_SYM_POWER, + SLOT_MACHINE_SYM_REPLAY +}; + +enum { + SLOT_MACHINE_MATCHED_1CHERRY, + SLOT_MACHINE_MATCHED_2CHERRY, + SLOT_MACHINE_MATCHED_REPLAY, + SLOT_MACHINE_MATCHED_LOTAD, + SLOT_MACHINE_MATCHED_AZURILL, + SLOT_MACHINE_MATCHED_POWER, + SLOT_MACHINE_MATCHED_777_MIXED, + SLOT_MACHINE_MATCHED_777_RED, + SLOT_MACHINE_MATCHED_777_BLUE, + SLOT_MACHINE_MATCHED_NONE +}; + struct SlotMachineEwramStruct { /*0x00*/ u8 state; /*0x01*/ u8 unk01; @@ -10,11 +33,11 @@ struct SlotMachineEwramStruct { /*0x05*/ u8 unk05; /*0x06*/ u8 unk06; /*0x07*/ u8 unk07; - /*0x08*/ u16 unk08; + /*0x08*/ u16 matchedSymbols; /*0x0A*/ u8 unk0A; /*0x0B*/ u8 unk0B; /*0x0C*/ s16 coins; - /*0x0E*/ s16 unk0E; + /*0x0E*/ s16 payout; /*0x10*/ s16 unk10; /*0x12*/ s16 bet; /*0x14*/ s16 unk14; @@ -26,7 +49,7 @@ struct SlotMachineEwramStruct { /*0x28*/ s16 unk28[3]; /*0x2E*/ s16 unk2E[3]; /*0x34*/ s16 unk34[3]; - /*0x3A*/ u8 unk3A[3]; + /*0x3A*/ u8 reelTasks[3]; /*0x3D*/ u8 unk3D; /*0x3E*/ u8 unk3E; /*0x3F*/ u8 unk3F; @@ -49,8 +72,8 @@ struct SlotMachineEwramStruct { /*0x64*/ MainCallback prevMainCb; }; -void PlaySlotMachine(u8, void *); +void PlaySlotMachine(u8 arg0, MainCallback cb); void sub_8104DA4(void); -u8 sub_8105BB4(u8, u8, s16); +u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); #endif // GUARD_SLOT_MACHINE_H diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index b21d8a082..7691f4fa9 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -30,21 +30,21 @@ struct UnkStruct1 { #endif -static void sub_81018B8(void); -static void sub_8101954(void); -static void sub_81019B0(u8 arg0, void *ptr); -static void nullsub_67(u8 taskId); -static void sub_8101A28(void); -static void sub_8101A44(void); -static void sub_8101A8C(void); -static void sub_8101AE0(void); -static void sub_8101B04(void); -static void sub_8101BA4(void); -static void sub_8101C84(void); -static void sub_8101CA0(void); -static void sub_8101CC0(void); -static void sub_8101CD4(void); -static void sub_8101CEC(void); +static void CB2_SlotMachineSetup(void); +static void CB2_SlotMachineLoop(void); +static void PlaySlotMachine_Internal(u8 arg0, MainCallback cb); +static void SlotMachineDummyTask(u8 taskId); +static void SlotMachineSetup_0_0(void); +static void SlotMachineSetup_6_2(void); +static void SlotMachineSetup_1_0(void); +static void SlotMachineSetup_2_0(void); +static void SlotMachineSetup_2_1(void); +static void SlotMachineSetup_0_1(void); +static void SlotMachineSetup_3_0(void); +static void SlotMachineSetup_4_0(void); +static void SlotMachineSetup_5_0(void); +static void SlotMachineSetup_6_0(void); +static void SlotMachineSetup_6_1(void); static void sub_8101D04(void); static void sub_8101D24(u8 taskId); static bool8 sub_8101D5C(struct Task *task); @@ -82,11 +82,11 @@ static bool8 sub_8102540(void); static u8 sub_8102578(void); static u16 dp15_jump_random_unknown(void); static u8 sub_81025BC(void); -static void sub_81027A0(void); -static void sub_81027D0(void); -static void sub_8102840(void); -static void sub_810290C(void); -static u8 sub_81029D4(u8 c1, u8 c2, u8 c3); +static void CheckMatch(void); +static void CheckMatch_CenterRow(void); +static void CheckMatch_TopAndBottom(void); +static void CheckMatch_Diagonals(void); +static u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3); static void sub_8102A24(void); static void sub_8102A64(u8 taskId); static bool8 sub_8102A44(void); @@ -229,52 +229,52 @@ static const u8 gUnknown_083ECE3A[]; static const u16 gUnknown_083ECE42[]; static const u16 gUnknown_083ECE48[]; -void PlaySlotMachine(u8 arg0, void *ptr) +void PlaySlotMachine(u8 arg0, MainCallback cb) { - sub_81019B0(arg0, ptr); - SetMainCallback2(sub_81018B8); + PlaySlotMachine_Internal(arg0, cb); + SetMainCallback2(CB2_SlotMachineSetup); } -static void sub_81018B8(void) +static void CB2_SlotMachineSetup(void) { switch (gMain.state) { case 0: - sub_8101A28(); - sub_8101BA4(); + SlotMachineSetup_0_0(); + SlotMachineSetup_0_1(); gMain.state++; break; case 1: - sub_8101A8C(); + SlotMachineSetup_1_0(); gMain.state++; break; case 2: - sub_8101AE0(); - sub_8101B04(); + SlotMachineSetup_2_0(); + SlotMachineSetup_2_1(); gMain.state++; break; case 3: - sub_8101C84(); + SlotMachineSetup_3_0(); gMain.state++; break; case 4: - sub_8101CA0(); + SlotMachineSetup_4_0(); gMain.state++; break; case 5: - sub_8101CC0(); + SlotMachineSetup_5_0(); gMain.state++; break; case 6: - sub_8101CD4(); - sub_8101CEC(); - sub_8101A44(); - SetMainCallback2(sub_8101954); + SlotMachineSetup_6_0(); + SlotMachineSetup_6_1(); + SlotMachineSetup_6_2(); + SetMainCallback2(CB2_SlotMachineLoop); break; } } -static void sub_8101954(void) +static void CB2_SlotMachineLoop(void) { RunTasks(); AnimateSprites(); @@ -282,7 +282,7 @@ static void sub_8101954(void) UpdatePaletteFade(); } -static void sub_810196C(void) +static void SlotMachine_VBlankCallback(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -293,35 +293,35 @@ static void sub_810196C(void) REG_WINOUT = eSlotMachine->winOut; } -static void sub_81019B0(u8 arg0, void *ptr) +static void PlaySlotMachine_Internal(u8 arg0, MainCallback cb) { - struct Task *task = &gTasks[CreateTask(nullsub_67, 0xFF)]; + struct Task *task = gTasks + CreateTask(SlotMachineDummyTask, 0xFF); task->data[0] = arg0; - StoreWordInTwoHalfwords(task->data + 1, (intptr_t)ptr); + StoreWordInTwoHalfwords(task->data + 1, (intptr_t)cb); } static void sub_81019EC(void) { - struct Task *task = &gTasks[FindTaskIdByFunc(nullsub_67)]; + struct Task *task = gTasks + FindTaskIdByFunc(SlotMachineDummyTask); eSlotMachine->unk01 = task->data[0]; LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&eSlotMachine->prevMainCb); } -static void nullsub_67(u8 taskId) +static void SlotMachineDummyTask(u8 taskId) { } -static void sub_8101A28(void) +static void SlotMachineSetup_0_0(void) { SetVBlankCallback(NULL); SetHBlankCallback(NULL); REG_DISPCNT = 0; } -static void sub_8101A44(void) +static void SlotMachineSetup_6_2(void) { u16 imeBak; - SetVBlankCallback(sub_810196C); + SetVBlankCallback(SlotMachine_VBlankCallback); imeBak = REG_IME; REG_IME = 0; REG_IE |= INTR_FLAG_VBLANK; @@ -330,17 +330,17 @@ static void sub_8101A44(void) REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON; } -static void sub_8101A8C(void) +static void SlotMachineSetup_1_0(void) { DmaClearLarge16(3, (u16 *)(BG_VRAM), BG_VRAM_SIZE, 0x1000); } -static void sub_8101AE0(void) +static void SlotMachineSetup_2_0(void) { DmaClear16(3, (u16 *)OAM, OAM_SIZE); } -static void sub_8101B04(void) +static void SlotMachineSetup_2_1(void) { REG_BG0CNT = 0; REG_BG1CNT = 0; @@ -366,7 +366,7 @@ static void sub_8101B04(void) static const s16 gUnknown_083ECCF8[][2]; -static void sub_8101BA4(void) +static void SlotMachineSetup_0_1(void) { u8 i; @@ -375,11 +375,11 @@ static void sub_8101BA4(void) eSlotMachine->unk02 = 0; eSlotMachine->unk03 = Random() & 1; eSlotMachine->unk04 = 0; - eSlotMachine->unk08 = 0; + eSlotMachine->matchedSymbols = 0; eSlotMachine->unk0A = 0; eSlotMachine->unk0B = 0; eSlotMachine->coins = gSaveBlock1.coins; - eSlotMachine->unk0E = 0; + eSlotMachine->payout = 0; eSlotMachine->unk10 = 0; eSlotMachine->bet = 0; eSlotMachine->unk18 = 0; @@ -398,13 +398,13 @@ static void sub_8101BA4(void) } } -static void sub_8101C84(void) +static void SlotMachineSetup_3_0(void) { SetUpWindowConfig(&gWindowConfig_81E7128); InitMenuWindow(&gWindowConfig_81E7128); } -static void sub_8101CA0(void) +static void SlotMachineSetup_4_0(void) { ResetPaletteFade(); ResetSpriteData(); @@ -413,14 +413,14 @@ static void sub_8101CA0(void) ResetTasks(); } -static void sub_8101CC0(void) +static void SlotMachineSetup_5_0(void) { sub_8106448(); sub_81064B8(); sub_81063C0(); } -static void sub_8101CD4(void) +static void SlotMachineSetup_6_0(void) { sub_8104EA8(); sub_8104F8C(); @@ -428,7 +428,7 @@ static void sub_8101CD4(void) sub_81050C4(); } -static void sub_8101CEC(void) +static void SlotMachineSetup_6_1(void) { sub_8104048(); sub_8102DA8(); @@ -497,7 +497,7 @@ static bool8 sub_8101D8C(struct Task *task) static bool8 sub_8101DB0(struct Task *task) { - eSlotMachine->unk0E = 0; + eSlotMachine->payout = 0; eSlotMachine->bet = 0; eSlotMachine->unk18 = 0; eSlotMachine->unk04 &= 0xc0; @@ -691,27 +691,27 @@ static bool8 sub_8102090(struct Task *task) static bool8 sub_81020C8(struct Task *task) { eSlotMachine->unk04 &= 0xc0; - sub_81027A0(); + CheckMatch(); if (eSlotMachine->unk0A) { eSlotMachine->unk0A--; eSlotMachine->unk0B++; } - if (eSlotMachine->unk08) + if (eSlotMachine->matchedSymbols) { eSlotMachine->state = 15; sub_8102A24(); sub_8103F70(); - if ((eSlotMachine->unk10 -= eSlotMachine->unk0E) < 0) + if ((eSlotMachine->unk10 -= eSlotMachine->payout) < 0) { eSlotMachine->unk10 = 0; } - if (eSlotMachine->unk08 & 0x180) + if (eSlotMachine->matchedSymbols & 0x180) { PlayFanfare(BGM_ME_B_BIG); sub_8104CAC(6); } - else if (eSlotMachine->unk08 & 0x40) + else if (eSlotMachine->matchedSymbols & 0x40) { PlayFanfare(BGM_ME_B_BIG); sub_8104CAC(5); @@ -721,21 +721,21 @@ static bool8 sub_81020C8(struct Task *task) PlayFanfare(BGM_ME_B_SMALL); sub_8104CAC(2); } - if (eSlotMachine->unk08 & 0x1c0) + if (eSlotMachine->matchedSymbols & 0x1c0) { eSlotMachine->unk04 &= 0x3f; - if (eSlotMachine->unk08 & 0x180) + if (eSlotMachine->matchedSymbols & 0x180) { eSlotMachine->unk0A = 0; eSlotMachine->unk0B = 0; eSlotMachine->unk03 = 0; - if (eSlotMachine->unk08 & 0x100) + if (eSlotMachine->matchedSymbols & 0x100) { eSlotMachine->unk03 = 1; } } } - if (eSlotMachine->unk08 & 0x20 && eSlotMachine->unk02 < 16) + if (eSlotMachine->matchedSymbols & 0x20 && eSlotMachine->unk02 < 16) { eSlotMachine->unk02++; sub_8104064(eSlotMachine->unk02); @@ -767,20 +767,20 @@ static bool8 sub_81021FC(struct Task *task) if (sub_8103FA0()) { eSlotMachine->state = 19; - if (eSlotMachine->unk08 & 0x180) + if (eSlotMachine->matchedSymbols & 0x180) { IncrementGameStat(GAME_STAT_SLOT_JACKPOTS); } - if (eSlotMachine->unk08 & 0x04) + if (eSlotMachine->matchedSymbols & 0x04) { eSlotMachine->unk18 = 0; eSlotMachine->state = 9; } - if (eSlotMachine->unk08 & 0x20) + if (eSlotMachine->matchedSymbols & 0x20) { eSlotMachine->state = 17; } - if (eSlotMachine->unk0A && eSlotMachine->unk08 & 0x04) + if (eSlotMachine->unk0A && eSlotMachine->matchedSymbols & 0x04) { sub_8104CAC(4); eSlotMachine->state = 18; @@ -794,7 +794,7 @@ static bool8 sub_8102264(struct Task *task) if (!sub_81040C8()) { eSlotMachine->state = 19; - if (eSlotMachine->unk08 & 0x04) + if (eSlotMachine->matchedSymbols & 0x04) { eSlotMachine->state = 9; if (eSlotMachine->unk0A) @@ -812,7 +812,7 @@ static bool8 sub_81022A0(struct Task *task) if (sub_8104E18()) { eSlotMachine->state = 19; - if (eSlotMachine->unk08 & 0x04) + if (eSlotMachine->matchedSymbols & 0x04) { eSlotMachine->state = 9; } @@ -1116,126 +1116,126 @@ static u16 dp15_jump_random_unknown(void) return 8; } -static void sub_81027A0(void) +static void CheckMatch(void) { - eSlotMachine->unk08 = 0; - sub_81027D0(); + eSlotMachine->matchedSymbols = 0; + CheckMatch_CenterRow(); if (eSlotMachine->bet > 1) { - sub_8102840(); + CheckMatch_TopAndBottom(); } if (eSlotMachine->bet > 2) { - sub_810290C(); + CheckMatch_Diagonals(); } } -static const u16 gUnknown_083ECE5A[]; -static const u16 gUnknown_083ECE6C[]; +static const u16 sSlotMatchFlags[]; +static const u16 sSlotPayouts[]; -static void sub_81027D0(void) +static void CheckMatch_CenterRow(void) { - u8 c1, c2, c3, payout; + u8 c1, c2, c3, match; c1 = sub_8102BA4(0, 2); c2 = sub_8102BA4(1, 2); c3 = sub_8102BA4(2, 2); - payout = sub_81029D4(c1, c2, c3); - if (payout != 9) + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) { - eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; - eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + eSlotMachine->payout += sSlotPayouts[match]; + eSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; sub_8103E04(0); } } -static void sub_8102840(void) +static void CheckMatch_TopAndBottom(void) { - u8 c1, c2, c3, payout; + u8 c1, c2, c3, match; c1 = sub_8102BA4(0, 1); c2 = sub_8102BA4(1, 1); c3 = sub_8102BA4(2, 1); - payout = sub_81029D4(c1, c2, c3); - if (payout != 9) + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) { - if (payout == 0) + if (match == SLOT_MACHINE_MATCHED_1CHERRY) { - payout = 1; + match = SLOT_MACHINE_MATCHED_2CHERRY; } - eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; - eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + eSlotMachine->payout += sSlotPayouts[match]; + eSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; sub_8103E04(1); } c1 = sub_8102BA4(0, 3); c2 = sub_8102BA4(1, 3); c3 = sub_8102BA4(2, 3); - payout = sub_81029D4(c1, c2, c3); - if (payout != 9) + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) { - if (payout == 0) + if (match == SLOT_MACHINE_MATCHED_1CHERRY) { - payout = 1; + match = SLOT_MACHINE_MATCHED_2CHERRY; } - eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; - eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + eSlotMachine->payout += sSlotPayouts[match]; + eSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; sub_8103E04(2); } } -static void sub_810290C(void) +static void CheckMatch_Diagonals(void) { - u8 c1, c2, c3, payout; + u8 c1, c2, c3, match; c1 = sub_8102BA4(0, 1); c2 = sub_8102BA4(1, 2); c3 = sub_8102BA4(2, 3); - payout = sub_81029D4(c1, c2, c3); - if (payout != 9) + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) { - if (payout != 0) + if (match != SLOT_MACHINE_MATCHED_1CHERRY) { - eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; - eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + eSlotMachine->payout += sSlotPayouts[match]; + eSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; } sub_8103E04(3); } c1 = sub_8102BA4(0, 3); c2 = sub_8102BA4(1, 2); c3 = sub_8102BA4(2, 1); - payout = sub_81029D4(c1, c2, c3); - if (payout != 9) + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) { - if (payout != 0) + if (match != SLOT_MACHINE_MATCHED_1CHERRY) { - eSlotMachine->unk0E += gUnknown_083ECE6C[payout]; - eSlotMachine->unk08 |= gUnknown_083ECE5A[payout]; + eSlotMachine->payout += sSlotPayouts[match]; + eSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; } sub_8103E04(4); } } -static const u8 gUnknown_083ECE52[]; +static const u8 sSym2Match[]; -static u8 sub_81029D4(u8 c1, u8 c2, u8 c3) +static u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) { if (c1 == c2 && c1 == c3) { - return gUnknown_083ECE52[c1]; + return sSym2Match[c1]; } - if (c1 == 0 && c2 == 0 && c3 == 1) + if (c1 == SLOT_MACHINE_SYM_7_RED && c2 == SLOT_MACHINE_SYM_7_RED && c3 == SLOT_MACHINE_SYM_7_BLUE) { - return 6; + return SLOT_MACHINE_MATCHED_777_MIXED; } - if (c1 == 1 && c2 == 1 && c3 == 0) + if (c1 == SLOT_MACHINE_SYM_7_BLUE && c2 == SLOT_MACHINE_SYM_7_BLUE && c3 == SLOT_MACHINE_SYM_7_RED) { - return 6; + return SLOT_MACHINE_MATCHED_777_MIXED; } - if (c1 == 4) + if (c1 == SLOT_MACHINE_SYM_CHERRY) { - return 0; + return SLOT_MACHINE_MATCHED_1CHERRY; } - return 9; + return SLOT_MACHINE_MATCHED_NONE; } static void sub_8102A24(void) @@ -1268,7 +1268,7 @@ static bool8 sub_8102A9C(struct Task *task) if (sub_8103E38()) { task->data[0]++; - if (eSlotMachine->unk0E == 0) + if (eSlotMachine->payout == 0) { task->data[0] = 2; return TRUE; @@ -1285,7 +1285,7 @@ static bool8 sub_8102AD0(struct Task *task) { PlaySE(SE_PIN); } - eSlotMachine->unk0E--; + eSlotMachine->payout--; if (eSlotMachine->coins < 9999) { eSlotMachine->coins++; @@ -1299,14 +1299,14 @@ static bool8 sub_8102AD0(struct Task *task) if (IsFanfareTaskInactive() && gMain.newKeys & START_BUTTON) { PlaySE(SE_PIN); - eSlotMachine->coins += eSlotMachine->unk0E; + eSlotMachine->coins += eSlotMachine->payout; if (eSlotMachine->coins > 9999) { eSlotMachine->coins = 9999; } - eSlotMachine->unk0E = 0; + eSlotMachine->payout = 0; } - if (eSlotMachine->unk0E == 0) + if (eSlotMachine->payout == 0) { task->data[0]++; } @@ -1399,25 +1399,25 @@ static void sub_8102DA8(void) { u8 taskId = CreateTask(sub_8102E68, 2); gTasks[taskId].data[15] = i; - eSlotMachine->unk3A[i] = taskId; + eSlotMachine->reelTasks[i] = taskId; sub_8102E68(taskId); } } static void sub_8102DEC(u8 a0) { - gTasks[eSlotMachine->unk3A[a0]].data[0] = 1; - gTasks[eSlotMachine->unk3A[a0]].data[14] = 1; + gTasks[eSlotMachine->reelTasks[a0]].data[0] = 1; + gTasks[eSlotMachine->reelTasks[a0]].data[14] = 1; } static void sub_8102E1C(u8 a0) { - gTasks[eSlotMachine->unk3A[a0]].data[0] = 2; + gTasks[eSlotMachine->reelTasks[a0]].data[0] = 2; } static bool8 sub_8102E40(u8 a0) { - return gTasks[eSlotMachine->unk3A[a0]].data[14]; + return gTasks[eSlotMachine->reelTasks[a0]].data[14]; } static bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = { @@ -1816,8 +1816,6 @@ static void j5_08111E84(void) } } -#ifdef NONMATCHING // variable r6 is mistakenly plopped into r5, - // and variable i is mistakenly plopped into r6 static void sub_8103668(void) { s16 i; @@ -1845,34 +1843,34 @@ static void sub_8103668(void) return; } } - for (i = 1; i < 5; i++) + for (r6 = 1; r6 < 5; r6++) { - if (sp0 == sub_8102BF8(1, eSlotMachine->unk34[0] - i)) + if (sp0 == sub_8102BF8(1, eSlotMachine->unk34[0] - r6)) { if (eSlotMachine->unk34[0] == 1) { - if (i < 3) + if (r6 < 3) { eSlotMachine->unk34[1] = 2; - eSlotMachine->unk2E[1] = i + 1; + eSlotMachine->unk2E[1] = r6 + 1; } else { eSlotMachine->unk34[1] = 1; - eSlotMachine->unk2E[1] = i; + eSlotMachine->unk2E[1] = r6; } } else { - if (i < 3) + if (r6 < 3) { eSlotMachine->unk34[1] = 3; - eSlotMachine->unk2E[1] = i; + eSlotMachine->unk2E[1] = r6; } else { eSlotMachine->unk34[1] = 2; - eSlotMachine->unk2E[1] = i - 1; + eSlotMachine->unk2E[1] = r6 - 1; } } return; @@ -1882,141 +1880,6 @@ static void sub_8103668(void) } } } -#else -__attribute__((naked)) void sub_8103668(void) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tsub sp, 0x4\n" - "\tldr r4, _0810368C @ =gSharedMem\n" - "\tldrh r3, [r4, 0x34]\n" - "\tmovs r0, 0x34\n" - "\tldrsh r2, [r4, r0]\n" - "\tcmp r2, 0\n" - "\tbeq _0810375A\n" - "\tldrb r1, [r4, 0x4]\n" - "\tmovs r0, 0x80\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbeq _0810375A\n" - "\tcmp r2, 0x2\n" - "\tbne _081036AE\n" - "\tbl j5_08111E84\n" - "\tb _0810375A\n" - "\t.align 2, 0\n" - "_0810368C: .4byte gSharedMem\n" - "_08103690:\n" - "\tldr r0, _0810369C @ =gSharedMem\n" - "\tmovs r1, 0\n" - "\tstrh r6, [r0, 0x36]\n" - "\tstrh r1, [r0, 0x30]\n" - "\tb _0810375A\n" - "\t.align 2, 0\n" - "_0810369C: .4byte gSharedMem\n" - "_081036A0:\n" - "\tmovs r0, 0x2\n" - "\tstrh r0, [r5, 0x36]\n" - "\tadds r0, r4, 0x1\n" - "\tstrh r0, [r5, 0x30]\n" - "\tb _0810375A\n" - "_081036AA:\n" - "\tmovs r0, 0x3\n" - "\tb _08103736\n" - "_081036AE:\n" - "\tldrh r1, [r4, 0x2E]\n" - "\tsubs r1, r3, r1\n" - "\tlsls r1, 16\n" - "\tasrs r1, 16\n" - "\tmovs r0, 0\n" - "\tbl sub_8102BF8\n" - "\tmov r1, sp\n" - "\tstrb r0, [r1]\n" - "\tmov r0, sp\n" - "\tbl sub_8103520\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _0810375A\n" - "\tmovs r6, 0x2\n" - "\tmovs r1, 0x34\n" - "\tldrsh r0, [r4, r1]\n" - "\tcmp r0, 0x3\n" - "\tbne _081036D8\n" - "\tmovs r6, 0x3\n" - "_081036D8:\n" - "\tmovs r5, 0\n" - "\tmov r7, sp\n" - "_081036DC:\n" - "\tlsls r0, r6, 16\n" - "\tasrs r4, r0, 16\n" - "\tmovs r0, 0x1\n" - "\tadds r1, r4, 0\n" - "\tbl sub_8102BF8\n" - "\tldrb r1, [r7]\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tcmp r1, r0\n" - "\tbeq _08103690\n" - "\tlsls r1, r5, 16\n" - "\tmovs r0, 0x80\n" - "\tlsls r0, 9\n" - "\tadds r1, r0\n" - "\tsubs r0, r4, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tlsrs r5, r1, 16\n" - "\tasrs r1, 16\n" - "\tcmp r1, 0x1\n" - "\tble _081036DC\n" - "\tmovs r6, 0x1\n" - "\tmov r7, sp\n" - "\tldr r5, _0810373C @ =gSharedMem\n" - "_0810370E:\n" - "\tldrh r1, [r5, 0x34]\n" - "\tlsls r0, r6, 16\n" - "\tasrs r4, r0, 16\n" - "\tsubs r1, r4\n" - "\tlsls r1, 16\n" - "\tasrs r1, 16\n" - "\tmovs r0, 0x1\n" - "\tbl sub_8102BF8\n" - "\tldrb r1, [r7]\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tcmp r1, r0\n" - "\tbne _0810374E\n" - "\tmovs r1, 0x34\n" - "\tldrsh r0, [r5, r1]\n" - "\tcmp r0, 0x1\n" - "\tbne _08103740\n" - "\tcmp r4, 0x2\n" - "\tble _081036A0\n" - "_08103736:\n" - "\tstrh r0, [r5, 0x36]\n" - "\tstrh r6, [r5, 0x30]\n" - "\tb _0810375A\n" - "\t.align 2, 0\n" - "_0810373C: .4byte gSharedMem\n" - "_08103740:\n" - "\tcmp r4, 0x2\n" - "\tble _081036AA\n" - "\tmovs r0, 0x2\n" - "\tstrh r0, [r5, 0x36]\n" - "\tsubs r0, r4, 0x1\n" - "\tstrh r0, [r5, 0x30]\n" - "\tb _0810375A\n" - "_0810374E:\n" - "\tadds r0, r4, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x4\n" - "\tble _0810370E\n" - "_0810375A:\n" - "\tadd sp, 0x4\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0"); -} -#endif // NONMATCHING static bool8 sub_8103764(u8 a0, u8 a1) { @@ -2872,7 +2735,7 @@ static void sub_81049F8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_810434C)); } -static const u16 gReelTimeWindowTilemap[]; +static const u16 sReelTimeWindowTilemap[]; static void sub_8104A40(s16 a0, s16 a1) { @@ -2880,7 +2743,7 @@ static void sub_8104A40(s16 a0, s16 a1) for (i = 4; i < 15; i++) { - u16 tile = gReelTimeWindowTilemap[a1 + (i - 4) * 20]; + u16 tile = sReelTimeWindowTilemap[a1 + (i - 4) * 20]; ((u16 *)BG_SCREEN_ADDR(28))[32 * i + a0] = tile; } } @@ -2997,7 +2860,7 @@ static void sub_8104CAC(u8 arg0) { sub_8104DA4(); - task = &gTasks[eSlotMachine->unk3D]; + task = gTasks + eSlotMachine->unk3D; task->data[1] = arg0; for (i = 0; gUnknown_083ED048[arg0][i].unk00 != 0xFF; i++) @@ -3139,7 +3002,7 @@ static void sub_810506C(struct Sprite *sprite) { u16 tag = eSlotMachine->coins; if (sprite->data[0]) - tag = eSlotMachine->unk0E; + tag = eSlotMachine->payout; if (sprite->data[3] != tag) { sprite->data[3] = tag; @@ -3561,9 +3424,9 @@ static void sub_8105B88(u8 spriteId) static const s16 gUnknown_083ECE7E[][2]; static const SpriteCallback gUnknown_083ECF0C[]; -u8 sub_8105BB4(u8 a0, u8 a1, s16 a2) +u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2) { - return sub_8105BF8(a0, gUnknown_083ECF0C[a1], gUnknown_083ECE7E[a1][0], gUnknown_083ECE7E[a1][1], a2); + return sub_8105BF8(templateIdx, gUnknown_083ECF0C[cbAndCoordsIdx], gUnknown_083ECE7E[cbAndCoordsIdx][0], gUnknown_083ECE7E[cbAndCoordsIdx][1], a2); } static const struct SpriteTemplate *const gUnknown_083EDB5C[]; @@ -4004,16 +3867,16 @@ static void sub_810639C(void) eSlotMachine->winOut = 0x3f; } -static const u8 gUnknown_083EDE8C[]; -static const struct SpriteSheet gUnknown_083EDC2C[]; +static const u8 sReelTimeGfx[]; +static const struct SpriteSheet sSlotMachineSpriteSheets[]; static const struct SpritePalette gSlotMachineSpritePalettes[]; static void sub_81063C0(void) { sub_8106404(); - LZDecompressWram(gSlotMachineReelTimeLights_Gfx, ewram10000); - LZDecompressWram(gUnknown_083EDE8C, ewram13200); - LoadSpriteSheets(gUnknown_083EDC2C); + LZDecompressWram(gSlotMachineReelTimeLights_Gfx, eSlotMachineGfxBuffer); + LZDecompressWram(sReelTimeGfx, eSlotMachineReelTimeGfxBuffer); + LoadSpriteSheets(sSlotMachineSpriteSheets); LoadSpritePalettes(gSlotMachineSpritePalettes); } @@ -4022,7 +3885,7 @@ static const struct SpriteSheet gUnknown_083EDCDC; static void sub_8106404(void) { - u8 *dest = ewram10000; + u8 *dest = eSlotMachineGfxBuffer; u8 i = 0; const struct SpriteSheet *sheet = &gUnknown_083EDCDC; const u8 *src = gUnknown_083EDCE4; @@ -4041,9 +3904,9 @@ static void sub_8106448(void) { u32 offsetRead, offsetWrite; u32 size; - LZDecompressWram(gSlotMachine_Gfx, ewram10000_2); + LZDecompressWram(gSlotMachine_Gfx, eSlotMachineGfxBuffer); - offsetRead = (u32)ewram10000_2; + offsetRead = (u32)eSlotMachineGfxBuffer; offsetWrite = BG_VRAM; size = SLOTMACHINE_GFX_TILES * 32; while (TRUE) @@ -4205,15 +4068,21 @@ static const u16 gUnknown_083ECE48[] = { 0x10, 0x08, 0x04, 0x02, 0x01 }; -static const u8 gUnknown_083ECE52[] = { - 7, 8, 4, 3, 0, 5, 2 +static const u8 sSym2Match[] = { + SLOT_MACHINE_MATCHED_777_RED, + SLOT_MACHINE_MATCHED_777_BLUE, + SLOT_MACHINE_MATCHED_AZURILL, + SLOT_MACHINE_MATCHED_LOTAD, + SLOT_MACHINE_MATCHED_1CHERRY, + SLOT_MACHINE_MATCHED_POWER, + SLOT_MACHINE_MATCHED_REPLAY }; -static const u16 gUnknown_083ECE5A[] = { +static const u16 sSlotMatchFlags[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100 }; -static const u16 gUnknown_083ECE6C[] = { +static const u16 sSlotPayouts[] = { 2, 4, 0, 6, 12, 3, 90, 300, 300 }; @@ -4508,23 +4377,23 @@ static const struct OamData gOamData_83ED0B8 = { }; static const struct SpriteFrameImage gSpriteImageTable_83ED0C0[] = { - {ewram13200 + 0x0000, 0x800}, - {ewram13200 + 0x0800, 0x800}, - {ewram13200 + 0x1000, 0x800}, - {ewram13200 + 0x1800, 0x800}, - {ewram13200 + 0x2000, 0x800} + {eSlotMachineReelTimeGfxBuffer + 0x0000, 0x800}, + {eSlotMachineReelTimeGfxBuffer + 0x0800, 0x800}, + {eSlotMachineReelTimeGfxBuffer + 0x1000, 0x800}, + {eSlotMachineReelTimeGfxBuffer + 0x1800, 0x800}, + {eSlotMachineReelTimeGfxBuffer + 0x2000, 0x800} }; static const struct SpriteFrameImage gSpriteImageTable_83ED0E8[] = { - {ewram13200 + 0x2800, 0x300} + {eSlotMachineReelTimeGfxBuffer + 0x2800, 0x300} }; static const struct SpriteFrameImage gSpriteImageTable_83ED0F0[] = { - {ewram13200 + 0x2B00, 0x500} + {eSlotMachineReelTimeGfxBuffer + 0x2B00, 0x500} }; static const struct SpriteFrameImage gSpriteImageTable_83ED0F8[] = { - {ewram13200 + 0x3000, 0x600} + {eSlotMachineReelTimeGfxBuffer + 0x3000, 0x600} }; static const struct SpriteFrameImage gSpriteImageTable_83ED100[] = { @@ -4567,67 +4436,67 @@ static const struct SpriteFrameImage gSpriteImageTable_83ED170[] = { }; static const struct SpriteFrameImage gSpriteImageTable_83ED178[] = { - {ewram10000 + 0x0000, 0x600} + {eSlotMachineGfxBuffer + 0x0000, 0x600} }; static const struct SpriteFrameImage gSpriteImageTable_83ED180[] = { - {ewram10000 + 0x0600, 0x200} + {eSlotMachineGfxBuffer + 0x0600, 0x200} }; static const struct SpriteFrameImage gSpriteImageTable_83ED188[] = { - {ewram10000 + 0x0800, 0x200} + {eSlotMachineGfxBuffer + 0x0800, 0x200} }; static const struct SpriteFrameImage gSpriteImageTable_83ED190[] = { - {ewram10000 + 0x0A00, 0x200} + {eSlotMachineGfxBuffer + 0x0A00, 0x200} }; static const struct SpriteFrameImage gSpriteImageTable_83ED198[] = { - {ewram10000 + 0x0C00, 0x300} + {eSlotMachineGfxBuffer + 0x0C00, 0x300} }; static const struct SpriteFrameImage gSpriteImageTable_83ED1A0[] = { - {ewram10000 + 0x1000, 0x400} + {eSlotMachineGfxBuffer + 0x1000, 0x400} }; static const struct SpriteFrameImage gSpriteImageTable_83ED1A8[] = { - {ewram10000 + 0x1400, 0x200} + {eSlotMachineGfxBuffer + 0x1400, 0x200} }; static const struct SpriteFrameImage gSpriteImageTable_83ED1B0[] = { - {ewram10000 + 0x1600, 0x300} + {eSlotMachineGfxBuffer + 0x1600, 0x300} }; static const struct SpriteFrameImage gSpriteImageTable_83ED1B8[] = { - {ewram10000 + 0x1900, 0x300} + {eSlotMachineGfxBuffer + 0x1900, 0x300} }; static const struct SpriteFrameImage gSpriteImageTable_83ED1C0[] = { - {ewram10000 + 0x1C00, 0x200}, - {ewram10000 + 0x1E00, 0x200}, - {ewram10000 + 0x1E00, 0x200} // is this a typo? + {eSlotMachineGfxBuffer + 0x1C00, 0x200}, + {eSlotMachineGfxBuffer + 0x1E00, 0x200}, + {eSlotMachineGfxBuffer + 0x1E00, 0x200} // is this a typo? }; static const struct SpriteFrameImage gSpriteImageTable_83ED1D8[] = { - {ewram10000 + 0x2000, 0x280} + {eSlotMachineGfxBuffer + 0x2000, 0x280} }; static const struct SpriteFrameImage gSpriteImageTable_83ED1E0[] = { - {ewram10000 + 0x2280, 0x80}, - {ewram10000 + 0x2300, 0x80}, - {ewram10000 + 0x2380, 0x80}, - {ewram10000 + 0x2400, 0x80}, - {ewram10000 + 0x2480, 0x80} + {eSlotMachineGfxBuffer + 0x2280, 0x80}, + {eSlotMachineGfxBuffer + 0x2300, 0x80}, + {eSlotMachineGfxBuffer + 0x2380, 0x80}, + {eSlotMachineGfxBuffer + 0x2400, 0x80}, + {eSlotMachineGfxBuffer + 0x2480, 0x80} }; static const struct SpriteFrameImage gSpriteImageTable_83ED208[] = { - {ewram10000 + 0x2600, 0x480}, - {ewram10000 + 0x2A80, 0x480} + {eSlotMachineGfxBuffer + 0x2600, 0x480}, + {eSlotMachineGfxBuffer + 0x2A80, 0x480} }; static const struct SpriteFrameImage gSpriteImageTable_83ED218[] = { - {ewram10000 + 0x2F00, 0x180}, - {ewram10000 + 0x3080, 0x180} + {eSlotMachineGfxBuffer + 0x2F00, 0x180}, + {eSlotMachineGfxBuffer + 0x3080, 0x180} }; static const struct SpriteFrameImage gSpriteImageTable_83ED228[] = { @@ -5358,7 +5227,7 @@ static const struct SubspriteTable *const gUnknown_083EDBC4[] = { NULL }; -static const struct SpriteSheet gUnknown_083EDC2C[] = { +static const struct SpriteSheet sSlotMachineSpriteSheets[] = { {gSlotMachineReelSymbol1Tiles, 0x200, 0}, {gSlotMachineReelSymbol2Tiles, 0x200, 1}, {gSlotMachineReelSymbol3Tiles, 0x200, 2}, @@ -5376,15 +5245,15 @@ static const struct SpriteSheet gUnknown_083EDC2C[] = { {gSlotMachineNumber7Tiles, 0x40, 14}, {gSlotMachineNumber8Tiles, 0x40, 15}, {gSlotMachineNumber9Tiles, 0x40, 16}, - {ewram10000 + 0x0A00, 0x200, 18}, - {ewram10000 + 0x1400, 0x200, 19}, - {ewram10000 + 0x1600, 0x300, 20}, - {ewram10000 + 0x1900, 0x300, 21}, + {eSlotMachineGfxBuffer + 0x0A00, 0x200, 18}, + {eSlotMachineGfxBuffer + 0x1400, 0x200, 19}, + {eSlotMachineGfxBuffer + 0x1600, 0x300, 20}, + {eSlotMachineGfxBuffer + 0x1900, 0x300, 21}, {} }; static const struct SpriteSheet gUnknown_083EDCDC = { - ewram10000 + 0x0000, 0x800, 17 + eSlotMachineGfxBuffer + 0x0000, 0x800, 17 }; static const u8 *const gUnknown_083EDCE4 = gUnknownPalette_08E997E8; @@ -5467,6 +5336,6 @@ static const struct SpritePalette gSlotMachineSpritePalettes[] = { {} }; -static const u8 gUnknown_083EDE8C[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); +static const u8 sReelTimeGfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); -static const u16 gReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/reel_time_window_map.bin"); +static const u16 sReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/reel_time_window_map.bin"); -- cgit v1.2.3 From 59c99b2d65af9ea1d53d457c71dc7f0915d815c5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 17:35:13 -0500 Subject: some renaming --- include/slot_machine.h | 16 ++-- src/field/slot_machine.c | 236 ++++++++++++++++++++++++++++++----------------- 2 files changed, 158 insertions(+), 94 deletions(-) diff --git a/include/slot_machine.h b/include/slot_machine.h index 5588d2bac..d932edff0 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -2,13 +2,13 @@ #define GUARD_SLOT_MACHINE_H enum { - SLOT_MACHINE_SYM_7_RED, - SLOT_MACHINE_SYM_7_BLUE, - SLOT_MACHINE_SYM_AZURILL, - SLOT_MACHINE_SYM_LOTAD, - SLOT_MACHINE_SYM_CHERRY, - SLOT_MACHINE_SYM_POWER, - SLOT_MACHINE_SYM_REPLAY + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY }; enum { @@ -46,7 +46,7 @@ struct SlotMachineEwramStruct { /*0x1A*/ s16 unk1A; /*0x1C*/ s16 unk1C[3]; /*0x22*/ u16 unk22[3]; - /*0x28*/ s16 unk28[3]; + /*0x28*/ s16 reelPositions[3]; /*0x2E*/ s16 unk2E[3]; /*0x34*/ s16 unk34[3]; /*0x3A*/ u8 reelTasks[3]; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 7691f4fa9..b1273ce7c 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -93,7 +93,7 @@ static bool8 sub_8102A44(void); static bool8 sub_8102A9C(struct Task *task); static bool8 sub_8102AD0(struct Task *task); static bool8 sub_8102B80(struct Task *task); -static u8 sub_8102BA4(u8 x, s16 y); +static u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y); static void sub_8102DA8(void); static void sub_8102DEC(u8 a0); static void sub_8102E1C(u8 a0); @@ -392,8 +392,8 @@ static void SlotMachineSetup_0_1(void) for (i = 0; i < 3; i++) { eSlotMachine->unk22[i] = 0; - eSlotMachine->unk28[i] = gUnknown_083ECCF8[i][eSlotMachine->unk03] % 21; - eSlotMachine->unk1C[i] = 0x1f8 - eSlotMachine->unk28[i] * 24; + eSlotMachine->reelPositions[i] = gUnknown_083ECCF8[i][eSlotMachine->unk03] % 21; + eSlotMachine->unk1C[i] = 0x1f8 - eSlotMachine->reelPositions[i] * 24; eSlotMachine->unk1C[i] %= 0x1f8; } } @@ -1137,9 +1137,9 @@ static void CheckMatch_CenterRow(void) { u8 c1, c2, c3, match; - c1 = sub_8102BA4(0, 2); - c2 = sub_8102BA4(1, 2); - c3 = sub_8102BA4(2, 2); + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 2); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 2); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 2); match = GetMatchFromSymbolsInRow(c1, c2, c3); if (match != SLOT_MACHINE_MATCHED_NONE) { @@ -1153,9 +1153,9 @@ static void CheckMatch_TopAndBottom(void) { u8 c1, c2, c3, match; - c1 = sub_8102BA4(0, 1); - c2 = sub_8102BA4(1, 1); - c3 = sub_8102BA4(2, 1); + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 1); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 1); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 1); match = GetMatchFromSymbolsInRow(c1, c2, c3); if (match != SLOT_MACHINE_MATCHED_NONE) { @@ -1167,9 +1167,9 @@ static void CheckMatch_TopAndBottom(void) eSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; sub_8103E04(1); } - c1 = sub_8102BA4(0, 3); - c2 = sub_8102BA4(1, 3); - c3 = sub_8102BA4(2, 3); + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 3); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 3); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 3); match = GetMatchFromSymbolsInRow(c1, c2, c3); if (match != SLOT_MACHINE_MATCHED_NONE) { @@ -1187,9 +1187,9 @@ static void CheckMatch_Diagonals(void) { u8 c1, c2, c3, match; - c1 = sub_8102BA4(0, 1); - c2 = sub_8102BA4(1, 2); - c3 = sub_8102BA4(2, 3); + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 1); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 2); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 3); match = GetMatchFromSymbolsInRow(c1, c2, c3); if (match != SLOT_MACHINE_MATCHED_NONE) { @@ -1200,9 +1200,9 @@ static void CheckMatch_Diagonals(void) } sub_8103E04(3); } - c1 = sub_8102BA4(0, 3); - c2 = sub_8102BA4(1, 2); - c3 = sub_8102BA4(2, 1); + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 3); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 2); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 1); match = GetMatchFromSymbolsInRow(c1, c2, c3); if (match != SLOT_MACHINE_MATCHED_NONE) { @@ -1223,15 +1223,15 @@ static u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) { return sSym2Match[c1]; } - if (c1 == SLOT_MACHINE_SYM_7_RED && c2 == SLOT_MACHINE_SYM_7_RED && c3 == SLOT_MACHINE_SYM_7_BLUE) + 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_SYM_7_BLUE && c2 == SLOT_MACHINE_SYM_7_BLUE && c3 == SLOT_MACHINE_SYM_7_RED) + 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_SYM_CHERRY) + if (c1 == SLOT_MACHINE_TAG_CHERRY) { return SLOT_MACHINE_MATCHED_1CHERRY; } @@ -1322,24 +1322,24 @@ static bool8 sub_8102B80(struct Task *task) return FALSE; } -static const u8 gUnknown_083ECCB2[][21]; +static const u8 sReelSymbols[][21]; -static u8 sub_8102BA4(u8 x, s16 y) +static u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y) { - s16 offset = (eSlotMachine->unk28[x] + y) % 21; + s16 offset = (eSlotMachine->reelPositions[x] + y) % 21; if (offset < 0) { offset += 21; } - return gUnknown_083ECCB2[x][offset]; + return sReelSymbols[x][offset]; } -static u8 sub_8102BF8(u8 x, s16 y) +static u8 GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(u8 x, s16 y) { s16 r6 = 0; if ((eSlotMachine->unk1C[x]) % 24) r6 = -1; - return sub_8102BA4(x, y + r6); + return GetTagOfReelSymbolOnScreenAtPos(x, y + r6); } static const u8 gUnknown_083ECCF1[]; @@ -1356,7 +1356,7 @@ static void sub_8102C84(u8 a0, s16 a1) { eSlotMachine->unk1C[a0] += a1; eSlotMachine->unk1C[a0] %= 504; - eSlotMachine->unk28[a0] = 21 - eSlotMachine->unk1C[a0] / 24; + eSlotMachine->reelPositions[a0] = 21 - eSlotMachine->unk1C[a0] / 24; } static s16 sub_8102CCC(u8 a0, s16 a1) @@ -1528,20 +1528,20 @@ static bool8 sub_810305C(void) return gUnknown_083ECB64[eSlotMachine->bet - 1](r5, r3); } -static bool8 sub_81030A4(s16 a0, u8 a1, u8 a2) +static bool8 sub_81030A4(s16 y, u8 tag1, u8 tag2) { - u8 r1 = sub_8102BF8(0, a0); - if (r1 == a1 || r1 == a2) + u8 tag = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, y); + if (tag == tag1 || tag == tag2) { - eSlotMachine->unk07 = r1; + eSlotMachine->unk07 = tag; return TRUE; } return FALSE; } -static bool8 sub_81030E0(s16 a0) +static bool8 sub_81030E0(s16 y) { - if (sub_8102BF8(0, 1 - a0) == 4 || sub_8102BF8(0, 2 - a0) == 4 || sub_8102BF8(0, 3 - a0) == 4) + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 1 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 3 - y) == 4) { return TRUE; } @@ -1573,7 +1573,7 @@ static bool8 sub_8103154(u8 a0, u8 a1) return FALSE; } -static bool8 sub_81031B4(u8 a0, u8 a1) +static bool8 sub_81031B4(u8 tag1, u8 tag2) { s16 i; bool8 r6 = sub_8103134(); @@ -1581,7 +1581,7 @@ static bool8 sub_81031B4(u8 a0, u8 a1) { for (i = 1; i < 4; i++) { - if (sub_81030A4(i, a0, a1)) + if (sub_81030A4(i, tag1, tag2)) { eSlotMachine->unk34[0] = i; eSlotMachine->unk2E[0] = 0; @@ -1594,7 +1594,7 @@ static bool8 sub_81031B4(u8 a0, u8 a1) bool8 r7 = r6; if (r7 || !sub_81030E0(i)) { - if (sub_81030A4(1 - i, a0, a1)) + if (sub_81030A4(1 - i, tag1, tag2)) { if (i == 1 && (r7 || !sub_81030E0(3))) { @@ -1635,7 +1635,7 @@ static bool8 sub_81032E8(void) for (i = 0; i < 5; i++) { - if (sub_8102BF8(1, unk34_0 - i) == eSlotMachine->unk07) + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, unk34_0 - i) == eSlotMachine->unk07) { eSlotMachine->unk34[1] = unk34_0; eSlotMachine->unk2E[1] = i; @@ -1654,7 +1654,7 @@ static bool8 sub_810333C(void) { for (i = 0; i < 5; i++) { - if (sub_8102BF8(1, 2 - i) == eSlotMachine->unk07) + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - i) == eSlotMachine->unk07) { eSlotMachine->unk34[1] = 2; eSlotMachine->unk2E[1] = i; @@ -1668,7 +1668,7 @@ static bool8 sub_810333C(void) { for (i = 0; i < 5; i++) { - if (sub_8102BF8(1, 2 - i) == eSlotMachine->unk07) + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - i) == eSlotMachine->unk07) { eSlotMachine->unk34[1] = 2; eSlotMachine->unk2E[1] = i; @@ -1706,7 +1706,7 @@ static bool8 sub_810341C(u8 a0) for (i = 0; i < 5; i++) { - if (sub_8102BF8(2, unk34_1 - i) == a0) + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, unk34_1 - i) == a0) { eSlotMachine->unk34[2] = unk34_1; eSlotMachine->unk2E[2] = i; @@ -1731,7 +1731,7 @@ static bool8 sub_810347C(u8 a0) } for (i = 0; i < 5; i++) { - if (sub_8102BF8(2, r8 - i) == a0) + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, r8 - i) == a0) { eSlotMachine->unk2E[2] = i; eSlotMachine->unk34[2] = r8; @@ -1778,13 +1778,13 @@ static void sub_8103564(void) { if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) { - u8 sp0 = sub_8102BF8(0, 2 - eSlotMachine->unk2E[0]); + u8 sp0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - eSlotMachine->unk2E[0]); if (sub_8103520(&sp0)) { s16 i; for (i = 0; i < 5; i++) { - if (sp0 == sub_8102BF8(1, 2 - i)) + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - i)) { eSlotMachine->unk34[1] = 2; eSlotMachine->unk2E[1] = i; @@ -1799,13 +1799,13 @@ static void j5_08111E84(void) { if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) { - u8 sp0 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + u8 sp0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); if (sub_8103520(&sp0)) { s16 i; for (i = 0; i < 5; i++) { - if (sp0 == sub_8102BF8(1, eSlotMachine->unk34[0] - i)) + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, eSlotMachine->unk34[0] - i)) { eSlotMachine->unk34[1] = eSlotMachine->unk34[0]; eSlotMachine->unk2E[1] = i; @@ -1819,7 +1819,7 @@ static void j5_08111E84(void) static void sub_8103668(void) { s16 i; - s16 r6; + s16 j; if (eSlotMachine->unk34[0] != 0 && eSlotMachine->unk04 & 0x80) { if (eSlotMachine->unk34[0] == 2) @@ -1828,49 +1828,49 @@ static void sub_8103668(void) } else { - u8 sp0 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + u8 sp0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); if (sub_8103520(&sp0)) { - r6 = 2; + j = 2; if (eSlotMachine->unk34[0] == 3) - r6 = 3; - for (i = 0; i < 2; i++, r6--) + j = 3; + for (i = 0; i < 2; i++, j--) { - if (sp0 == sub_8102BF8(1, r6)) + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, j)) { - eSlotMachine->unk34[1] = r6; + eSlotMachine->unk34[1] = j; eSlotMachine->unk2E[1] = 0; return; } } - for (r6 = 1; r6 < 5; r6++) + for (j = 1; j < 5; j++) { - if (sp0 == sub_8102BF8(1, eSlotMachine->unk34[0] - r6)) + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, eSlotMachine->unk34[0] - j)) { if (eSlotMachine->unk34[0] == 1) { - if (r6 < 3) + if (j < 3) { eSlotMachine->unk34[1] = 2; - eSlotMachine->unk2E[1] = r6 + 1; + eSlotMachine->unk2E[1] = j + 1; } else { eSlotMachine->unk34[1] = 1; - eSlotMachine->unk2E[1] = r6; + eSlotMachine->unk2E[1] = j; } } else { - if (r6 < 3) + if (j < 3) { eSlotMachine->unk34[1] = 3; - eSlotMachine->unk2E[1] = r6; + eSlotMachine->unk2E[1] = j; } else { eSlotMachine->unk34[1] = 2; - eSlotMachine->unk2E[1] = r6 - 1; + eSlotMachine->unk2E[1] = j - 1; } } return; @@ -1926,14 +1926,14 @@ static void sub_810380C(void) static void sub_8103830(void) { s16 i = 0; - u8 r5 = sub_8102BF8(0, 2 - eSlotMachine->unk2E[0]); - u8 r1 = sub_8102BF8(1, 2 - eSlotMachine->unk2E[1]); + u8 r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - eSlotMachine->unk2E[0]); + u8 r1 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - eSlotMachine->unk2E[1]); if (r5 == r1) { while (1) { u8 r0; - if (!(r5 == (r0 = sub_8102BF8(2, 2 - i)) || (r5 == 0 && r0 == 1) || (r5 == 1 && r0 == 0))) + if (!(r5 == (r0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) || (r5 == 0 && r0 == 1) || (r5 == 1 && r0 == 0))) { break; } @@ -1946,7 +1946,7 @@ static void sub_8103830(void) { for (i = 0; i < 5; i++) { - if (r5 == sub_8102BF8(2, 2 - i)) + if (r5 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) { eSlotMachine->unk2E[2] = i; return; @@ -1956,7 +1956,7 @@ static void sub_8103830(void) i = 0; while (1) { - if (r5 != sub_8102BF8(2, 2 - i)) + if (r5 != GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) { break; } @@ -1976,13 +1976,13 @@ static void sub_8103910(void) if (eSlotMachine->unk34[1] != 0 && eSlotMachine->unk34[0] == eSlotMachine->unk34[1] && eSlotMachine->unk04 & 0x80) { - r7 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); - r6 = sub_8102BF8(1, eSlotMachine->unk34[1] - eSlotMachine->unk2E[1]); + r7 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, eSlotMachine->unk34[1] - eSlotMachine->unk2E[1]); if (sub_8103764(r7, r6)) { for (i = 0; i < 5; i++) { - r4 = sub_8102BF8(2, eSlotMachine->unk34[1] - i); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, eSlotMachine->unk34[1] - i); if (r7 == r4) { sp0 = i; @@ -1996,9 +1996,9 @@ static void sub_8103910(void) s16 r8; for (i = 1, r8 = 0; i < 4; i++) { - r7 = sub_8102BF8(0, i - eSlotMachine->unk2E[0]); - r6 = sub_8102BF8(1, i - eSlotMachine->unk2E[1]); - r4 = sub_8102BF8(2, i - sp0); + r7 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, i - eSlotMachine->unk2E[0]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, i - eSlotMachine->unk2E[1]); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, i - sp0); if (!sub_81037BC(r7, r6, r4) && (!sub_810378C(r7, r6, r4) || !(eSlotMachine->unk04 & 0x80))) { r8++; @@ -2025,8 +2025,8 @@ static void sub_8103A78(void) sub_8103910(); if (eSlotMachine->unk34[1] != 0 && eSlotMachine->unk34[0] != eSlotMachine->unk34[1] && eSlotMachine->unk04 & 0x80) { - r6 = sub_8102BF8(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); - r5 = sub_8102BF8(1, eSlotMachine->unk34[1] - eSlotMachine->unk2E[1]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, eSlotMachine->unk34[0] - eSlotMachine->unk2E[0]); + r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, eSlotMachine->unk34[1] - eSlotMachine->unk2E[1]); if (sub_8103764(r6, r5)) { r8 = 1; @@ -2034,7 +2034,7 @@ static void sub_8103A78(void) r8 = 3; for (i = 0; i < 5; i++) { - r4 = sub_8102BF8(2, r8 - (eSlotMachine->unk2E[2] + i)); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, r8 - (eSlotMachine->unk2E[2] + i)); if (r6 == r4) { eSlotMachine->unk2E[2] += i; @@ -2045,18 +2045,18 @@ static void sub_8103A78(void) } while (1) { - r6 = sub_8102BF8(0, 1 - eSlotMachine->unk2E[0]); - r5 = sub_8102BF8(1, 2 - eSlotMachine->unk2E[1]); - r4 = sub_8102BF8(2, 3 - eSlotMachine->unk2E[2]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 1 - eSlotMachine->unk2E[0]); + r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - eSlotMachine->unk2E[1]); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 3 - eSlotMachine->unk2E[2]); if (sub_81037BC(r6, r5, r4) || (sub_810378C(r6, r5, r4) && eSlotMachine->unk04 & 0x80)) break; eSlotMachine->unk2E[2]++; } while (1) { - r6 = sub_8102BF8(0, 3 - eSlotMachine->unk2E[0]); - r5 = sub_8102BF8(1, 2 - eSlotMachine->unk2E[1]); - r4 = sub_8102BF8(2, 1 - eSlotMachine->unk2E[2]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 3 - eSlotMachine->unk2E[0]); + r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - eSlotMachine->unk2E[1]); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 1 - eSlotMachine->unk2E[2]); if (sub_81037BC(r6, r5, r4) || (sub_810378C(r6, r5, r4) && eSlotMachine->unk04 & 0x80)) break; eSlotMachine->unk2E[2]++; @@ -2968,7 +2968,7 @@ static void sub_8104F18(struct Sprite *sprite) sprite->data[2] = eSlotMachine->unk1C[sprite->data[0]] + sprite->data[1]; sprite->data[2] %= 120; sprite->pos1.y = eSlotMachine->unk22[sprite->data[0]] + 28 + sprite->data[2]; - sprite->sheetTileStart = GetSpriteTileStartByTag(sub_8102BA4(sprite->data[0], sprite->data[2] / 24)); + sprite->sheetTileStart = GetSpriteTileStartByTag(GetTagOfReelSymbolOnScreenAtPos(sprite->data[0], sprite->data[2] / 24)); SetSpriteSheetFrameTileNum(sprite); } @@ -3982,10 +3982,74 @@ static void sub_81065DC(void) { } } -static const u8 gUnknown_083ECCB2[][21] = { - {0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6}, - {0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4}, - {0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4} +static const u8 sReelSymbols[][21] = { + { + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_7_BLUE, + 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, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_CHERRY, + 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, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_CHERRY + } }; static const u8 gUnknown_083ECCF1[] = { -- cgit v1.2.3 From 5c427e8afed44ed3720cf97d6748fa9e806c9b83 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 4 Jan 2018 14:37:52 -0800 Subject: Use song constants in scripts --- data-de/event_scripts.s | 46 +++++++++++----------- data/battle_scripts_2.s | 2 +- data/event_scripts.s | 46 +++++++++++----------- data/scripts/berry_tree.inc | 2 +- data/scripts/cable_club.inc | 2 +- data/scripts/contest_hall.inc | 32 +++++++-------- data/scripts/day_care.inc | 4 +- data/scripts/magma_chimney.inc | 2 +- data/scripts/maps/AbandonedShip_Corridors_B1F.inc | 2 +- .../maps/AbandonedShip_HiddenFloorCorridors.inc | 8 ++-- data/scripts/maps/AquaHideout_B2F.inc | 2 +- data/scripts/maps/BattleTower_BattleRoom.inc | 4 +- data/scripts/maps/BattleTower_Lobby.inc | 10 ++--- data/scripts/maps/CaveOfOrigin_B4F.inc | 4 +- data/scripts/maps/DewfordTown_Gym.inc | 8 ++-- data/scripts/maps/EverGrandeCity_ChampionsRoom.inc | 14 +++---- data/scripts/maps/EverGrandeCity_DrakesRoom.inc | 2 +- data/scripts/maps/EverGrandeCity_GlaciasRoom.inc | 2 +- data/scripts/maps/EverGrandeCity_PhoebesRoom.inc | 2 +- data/scripts/maps/EverGrandeCity_PokemonLeague.inc | 4 +- data/scripts/maps/EverGrandeCity_SidneysRoom.inc | 2 +- data/scripts/maps/FallarborTown_ContestLobby.inc | 4 +- .../maps/FallarborTown_PokemonCenter_1F.inc | 2 +- data/scripts/maps/GraniteCave_StevensRoom.inc | 2 +- data/scripts/maps/LavaridgeTown.inc | 6 +-- data/scripts/maps/LilycoveCity.inc | 4 +- data/scripts/maps/LilycoveCity_ContestLobby.inc | 16 ++++---- .../scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc | 2 +- .../scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc | 2 +- .../maps/LilycoveCity_DepartmentStoreRooftop.inc | 6 +-- .../maps/LilycoveCity_DepartmentStore_1F.inc | 2 +- .../maps/LilycoveCity_MoveDeletersHouse.inc | 2 +- data/scripts/maps/LittlerootTown.inc | 4 +- .../maps/LittlerootTown_BrendansHouse_1F.inc | 2 +- data/scripts/maps/LittlerootTown_MaysHouse_1F.inc | 2 +- data/scripts/maps/LittlerootTown_MaysHouse_2F.inc | 6 +-- .../maps/LittlerootTown_ProfessorBirchsLab.inc | 4 +- data/scripts/maps/MauvilleCity.inc | 2 +- data/scripts/maps/MauvilleCity_GameCorner.inc | 22 +++++------ data/scripts/maps/MauvilleCity_Gym.inc | 4 +- data/scripts/maps/MauvilleCity_House2.inc | 2 +- data/scripts/maps/MeteorFalls_1F_1R.inc | 2 +- data/scripts/maps/MossdeepCity_Gym.inc | 2 +- data/scripts/maps/MossdeepCity_StevensHouse.inc | 4 +- data/scripts/maps/NewMauville_Entrance.inc | 2 +- data/scripts/maps/NewMauville_Inside.inc | 4 +- data/scripts/maps/OldaleTown.inc | 2 +- data/scripts/maps/PetalburgCity.inc | 6 +-- data/scripts/maps/PetalburgCity_Gym.inc | 6 +-- data/scripts/maps/PetalburgWoods.inc | 4 +- data/scripts/maps/Route101.inc | 2 +- data/scripts/maps/Route103.inc | 8 ++-- data/scripts/maps/Route110.inc | 6 +-- data/scripts/maps/Route110_TrickHouseEnd.inc | 6 +-- data/scripts/maps/Route110_TrickHouseEntrance.inc | 10 ++--- data/scripts/maps/Route110_TrickHousePuzzle2.inc | 8 ++-- data/scripts/maps/Route110_TrickHousePuzzle3.inc | 2 +- data/scripts/maps/Route110_TrickHousePuzzle5.inc | 14 +++---- data/scripts/maps/Route110_TrickHousePuzzle7.inc | 10 ++--- data/scripts/maps/Route111.inc | 4 +- data/scripts/maps/Route113_GlassWorkshop.inc | 2 +- data/scripts/maps/Route118.inc | 2 +- data/scripts/maps/Route119.inc | 4 +- data/scripts/maps/Route119_WeatherInstitute_2F.inc | 2 +- data/scripts/maps/Route121_SafariZoneEntrance.inc | 2 +- data/scripts/maps/RustboroCity.inc | 18 ++++----- data/scripts/maps/RustboroCity_DevonCorp_2F.inc | 8 ++-- data/scripts/maps/RustboroCity_DevonCorp_3F.inc | 4 +- data/scripts/maps/RusturfTunnel.inc | 4 +- data/scripts/maps/SSTidalCorridor.inc | 14 +++---- data/scripts/maps/SeafloorCavern_Room9.inc | 12 +++--- data/scripts/maps/SealedChamber_InnerRoom.inc | 8 ++-- data/scripts/maps/SlateportCity.inc | 6 +-- data/scripts/maps/SlateportCity_ContestLobby.inc | 4 +- .../maps/SlateportCity_OceanicMuseum_1F.inc | 6 +-- .../maps/SlateportCity_OceanicMuseum_2F.inc | 4 +- data/scripts/maps/SlateportCity_PokemonFanClub.inc | 2 +- data/scripts/maps/SootopolisCity.inc | 4 +- data/scripts/maps/SootopolisCity_Gym_1F.inc | 8 ++-- data/scripts/maps/UnknownMap_25_34.inc | 10 ++--- data/scripts/maps/VerdanturfTown_ContestLobby.inc | 4 +- data/scripts/players_house.inc | 12 +++--- data/scripts/safari_zone.inc | 4 +- 83 files changed, 271 insertions(+), 271 deletions(-) diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s index e786a6ab1..ab511dcd6 100644 --- a/data-de/event_scripts.s +++ b/data-de/event_scripts.s @@ -396,13 +396,13 @@ gStdScripts_End:: gUnknown_0815F36C:: @ 815F36C lockall - playse 2 + playse SE_PC_LOGON message UnknownString_81A3A72 dofieldeffect 61 waitstate waitmessage waitbuttonpress - playse 5 + playse SE_SELECT goto EventScript_15F384 end @@ -458,12 +458,12 @@ EventScript_15F436: gUnknown_0815F43A:: @ 815F43A lockall message UnknownString_81A3A72 - playse 2 + playse SE_PC_LOGON dofieldeffect 61 waitstate waitmessage waitbuttonpress - playse 5 + playse SE_SELECT goto EventScript_15F452 end @@ -1572,11 +1572,11 @@ Std_ObtainItem_Fail: @ 819FECC return PlayGetItemFanfare: - playfanfare 0x172 + playfanfare BGM_FANFA4 return PlayGetTMHMFanfare: - playfanfare 0x174 + playfanfare BGM_ME_WAZA return Std_ObtainDecoration: @ 819FEDA @@ -1594,7 +1594,7 @@ Std_ObtainDecoration_: @ 819FEE8 return Std_ObtainDecoration_Success: @ 819FF03 - playfanfare 0x172 + playfanfare BGM_FANFA4 message Message_ObtainedDecoration waitfanfare waitmessage @@ -1691,7 +1691,7 @@ gUnknown_081A0009:: @ 81A0009 lockall setvar VAR_SPECIAL_4, 0 special DoPCTurnOnEffect - playse 4 + playse SE_PC_ON msgbox UnknownString_81A09EC, 4 goto EventScript_1A0023 end @@ -1714,7 +1714,7 @@ EventScript_1A0033: end EventScript_1A0070: - playse 2 + playse SE_PC_LOGON msgbox UnknownString_81A0A54, 4 special PlayerPC waitstate @@ -1722,7 +1722,7 @@ EventScript_1A0070: end EventScript_1A0085: - playse 2 + playse SE_PC_LOGON checkflag FLAG_SYS_PC_LANETTE call_if 0, EventScript_1A00AC checkflag FLAG_SYS_PC_LANETTE @@ -1743,7 +1743,7 @@ EventScript_1A00B5: EventScript_1A00BE: setvar VAR_SPECIAL_4, 0 - playse 3 + playse SE_PC_OFF special DoPCTurnOffEffect releaseall end @@ -1751,7 +1751,7 @@ EventScript_1A00BE: EventScript_1A00CB: checkflag FLAG_SYS_GAME_CLEAR goto_if 0, EventScript_1A00BE - playse 2 + playse SE_PC_LOGON special AccessHallOfFamePC waitstate goto EventScript_1A0033 @@ -2111,7 +2111,7 @@ MossdeepCity_Gym_EventScript_1A02C5:: @ 81A02C5 PetalburgCity_Gym_EventScript_1A02C5:: @ 81A02C5 RustboroCity_Gym_EventScript_1A02C5:: @ 81A02C5 SootopolisCity_Gym_1F_EventScript_1A02C5:: @ 81A02C5 - playfanfare 369 + playfanfare BGM_ME_BACHI waitfanfare return @@ -2120,7 +2120,7 @@ Route111_OldLadysRestStop_EventScript_1A02CA:: @ 81A02CA Route119_WeatherInstitute_1F_EventScript_1A02CA:: @ 81A02CA SSTidalRooms_EventScript_1A02CA:: @ 81A02CA fadescreen 1 - playfanfare 368 + playfanfare BGM_ME_ASA waitfanfare special ScrSpecial_HealPlayerParty fadescreen 0 @@ -2139,7 +2139,7 @@ DewfordTown_EventScript_1A02E7:: @ 81A02E7 Route104_EventScript_1A02E7:: @ 81A02E7 Route109_EventScript_1A02E7:: @ 81A02E7 setflag FLAG_SPECIAL_FLAG_1 - playbgm 431, 0 + playbgm BGM_M_BOAT, FALSE return DewfordTown_EventScript_1A02EF:: @ 81A02EF @@ -2553,7 +2553,7 @@ GraniteCave_StevensRoom_EventScript_1A067F:: @ 81A067F MtPyre_Summit_EventScript_1A067F:: @ 81A067F SlateportCity_OceanicMuseum_2F_EventScript_1A067F:: @ 81A067F bufferitemname 0, VAR_SPECIAL_4 - playfanfare 372 + playfanfare BGM_ME_WAZA message FallarborTown_House1_Text_1A1498 waitmessage waitfanfare @@ -2566,7 +2566,7 @@ EverGrandeCity_PhoebesRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693 applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0853 waitmovement 0 - playse 8 + playse SE_DOOR setmetatile 6, 1, 836, 0 setmetatile 6, 2, 837, 0 setmetatile 0, 2, 734, 1 @@ -2588,7 +2588,7 @@ EverGrandeCity_PhoebesRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710 applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0847 waitmovement 0 - playse 52 + playse SE_TRACK_DOOR setmetatile 5, 12, 518, 1 setmetatile 6, 12, 518, 1 setmetatile 7, 12, 518, 1 @@ -3742,7 +3742,7 @@ EventScript_1A2DAA: EventScript_1A2DB8: closemessage - playse 9 + playse SE_KAIDAN setvar VAR_0x4097, 0 setflag FLAG_DECORATION_1 special sub_80BB8CC @@ -3762,7 +3762,7 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A2E08 closemessage - playse 9 + playse SE_KAIDAN special sub_80BC440 end @@ -3781,7 +3781,7 @@ SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11 gUnknown_081A2E14:: @ 81A2E14 lockall setvar VAR_0x4097, 1 - playse 9 + playse SE_KAIDAN special sub_80BC114 compare RESULT, 0 goto_if_eq EventScript_1A2E38 @@ -4915,7 +4915,7 @@ S_FallDownHole:: @ 81C6BC5 delay 20 applymovement 255, GraniteCave_B1F_Movement_1C6BF7 waitmovement 0 - playse 43 + playse SE_RU_HYUU delay 60 warphole MAP_UNDEFINED waitstate @@ -4926,7 +4926,7 @@ gUnknown_081C6BDE:: @ 81C6BDE delay 20 applymovement 255, GraniteCave_B1F_Movement_1C6BF7 waitmovement 0 - playse 43 + playse SE_RU_HYUU delay 60 special sp13F_fall_to_last_warp waitstate diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 26f28726d..e113513d6 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -164,7 +164,7 @@ BattleScript_OpponentUsesGuardSpecs: @ 81D9FBB finishaction BattleScript_RunByUsingItem: @ 81D9FDA - playse 17 + playse SE_NIGERU setbyte gBattleOutcome, BATTLE_RAN finishturn diff --git a/data/event_scripts.s b/data/event_scripts.s index 7d59b5234..b751a2e63 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -396,13 +396,13 @@ gStdScripts_End:: gUnknown_0815F36C:: @ 815F36C lockall - playse 2 + playse SE_PC_LOGON message UnknownString_81A3A72 dofieldeffect 61 waitstate waitmessage waitbuttonpress - playse 5 + playse SE_SELECT goto EventScript_15F384 end @@ -458,12 +458,12 @@ EventScript_15F436: gUnknown_0815F43A:: @ 815F43A lockall message UnknownString_81A3A72 - playse 2 + playse SE_PC_LOGON dofieldeffect 61 waitstate waitmessage waitbuttonpress - playse 5 + playse SE_SELECT goto EventScript_15F452 end @@ -1566,11 +1566,11 @@ Std_ObtainItem_Fail: @ 819FECC return PlayGetItemFanfare: - playfanfare 0x172 + playfanfare BGM_FANFA4 return PlayGetTMHMFanfare: - playfanfare 0x174 + playfanfare BGM_ME_WAZA return Std_ObtainDecoration: @ 819FEDA @@ -1588,7 +1588,7 @@ Std_ObtainDecoration_: @ 819FEE8 return Std_ObtainDecoration_Success: @ 819FF03 - playfanfare 0x172 + playfanfare BGM_FANFA4 message Message_ObtainedDecoration waitfanfare waitmessage @@ -1685,7 +1685,7 @@ gUnknown_081A0009:: @ 81A0009 lockall setvar VAR_SPECIAL_4, 0 special DoPCTurnOnEffect - playse 4 + playse SE_PC_ON msgbox UnknownString_81A09EC, 4 goto EventScript_1A0023 end @@ -1708,7 +1708,7 @@ EventScript_1A0033: end EventScript_1A0070: - playse 2 + playse SE_PC_LOGON msgbox UnknownString_81A0A54, 4 special PlayerPC waitstate @@ -1716,7 +1716,7 @@ EventScript_1A0070: end EventScript_1A0085: - playse 2 + playse SE_PC_LOGON checkflag FLAG_SYS_PC_LANETTE call_if 0, EventScript_1A00AC checkflag FLAG_SYS_PC_LANETTE @@ -1737,7 +1737,7 @@ EventScript_1A00B5: EventScript_1A00BE: setvar VAR_SPECIAL_4, 0 - playse 3 + playse SE_PC_OFF special DoPCTurnOffEffect releaseall end @@ -1745,7 +1745,7 @@ EventScript_1A00BE: EventScript_1A00CB: checkflag FLAG_SYS_GAME_CLEAR goto_if 0, EventScript_1A00BE - playse 2 + playse SE_PC_LOGON special AccessHallOfFamePC waitstate goto EventScript_1A0033 @@ -2105,7 +2105,7 @@ MossdeepCity_Gym_EventScript_1A02C5:: @ 81A02C5 PetalburgCity_Gym_EventScript_1A02C5:: @ 81A02C5 RustboroCity_Gym_EventScript_1A02C5:: @ 81A02C5 SootopolisCity_Gym_1F_EventScript_1A02C5:: @ 81A02C5 - playfanfare 369 + playfanfare BGM_ME_BACHI waitfanfare return @@ -2114,7 +2114,7 @@ Route111_OldLadysRestStop_EventScript_1A02CA:: @ 81A02CA Route119_WeatherInstitute_1F_EventScript_1A02CA:: @ 81A02CA SSTidalRooms_EventScript_1A02CA:: @ 81A02CA fadescreen 1 - playfanfare 368 + playfanfare BGM_ME_ASA waitfanfare special ScrSpecial_HealPlayerParty fadescreen 0 @@ -2133,7 +2133,7 @@ DewfordTown_EventScript_1A02E7:: @ 81A02E7 Route104_EventScript_1A02E7:: @ 81A02E7 Route109_EventScript_1A02E7:: @ 81A02E7 setflag FLAG_SPECIAL_FLAG_1 - playbgm 431, 0 + playbgm BGM_M_BOAT, FALSE return DewfordTown_EventScript_1A02EF:: @ 81A02EF @@ -2547,7 +2547,7 @@ GraniteCave_StevensRoom_EventScript_1A067F:: @ 81A067F MtPyre_Summit_EventScript_1A067F:: @ 81A067F SlateportCity_OceanicMuseum_2F_EventScript_1A067F:: @ 81A067F bufferitemname 0, VAR_SPECIAL_4 - playfanfare 372 + playfanfare BGM_ME_WAZA message FallarborTown_House1_Text_1A1498 waitmessage waitfanfare @@ -2560,7 +2560,7 @@ EverGrandeCity_PhoebesRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693 applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0853 waitmovement 0 - playse 8 + playse SE_DOOR setmetatile 6, 1, 836, 0 setmetatile 6, 2, 837, 0 setmetatile 0, 2, 734, 1 @@ -2582,7 +2582,7 @@ EverGrandeCity_PhoebesRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710 applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0847 waitmovement 0 - playse 52 + playse SE_TRACK_DOOR setmetatile 5, 12, 518, 1 setmetatile 6, 12, 518, 1 setmetatile 7, 12, 518, 1 @@ -3721,7 +3721,7 @@ EventScript_1A2DAA: EventScript_1A2DB8: closemessage - playse 9 + playse SE_KAIDAN setvar VAR_0x4097, 0 setflag FLAG_DECORATION_1 special sub_80BB8CC @@ -3741,7 +3741,7 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A2E08 closemessage - playse 9 + playse SE_KAIDAN special sub_80BC440 end @@ -3760,7 +3760,7 @@ SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11 gUnknown_081A2E14:: @ 81A2E14 lockall setvar VAR_0x4097, 1 - playse 9 + playse SE_KAIDAN special sub_80BC114 compare RESULT, 0 goto_if_eq EventScript_1A2E38 @@ -4883,7 +4883,7 @@ S_FallDownHole:: @ 81C6BC5 delay 20 applymovement 255, GraniteCave_B1F_Movement_1C6BF7 waitmovement 0 - playse 43 + playse SE_RU_HYUU delay 60 warphole MAP_UNDEFINED waitstate @@ -4894,7 +4894,7 @@ gUnknown_081C6BDE:: @ 81C6BDE delay 20 applymovement 255, GraniteCave_B1F_Movement_1C6BF7 waitmovement 0 - playse 43 + playse SE_RU_HYUU delay 60 special sp13F_fall_to_last_warp waitstate diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 55b8e2439..817e2b1e4 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -113,7 +113,7 @@ Route102_EventScript_1A161D:: @ 81A161D goto_if_eq Route102_EventScript_1A1642 special FieldObjectInteractionRemoveBerryTree message Route102_Text_1A17FD - playfanfare 387 + playfanfare BGM_ME_KINOMI waitmessage waitfanfare waitbuttonpress diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index b3926af65..397538eaf 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -136,7 +136,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30 waitmovement 0 message OldaleTown_PokemonCenter_2F_Text_1A4E50 waitmessage - playse 21 + playse SE_PIN message OldaleTown_PokemonCenter_2F_Text_1A4E79 waitmessage applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 9c5c246e2..4a7712f58 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -345,13 +345,13 @@ LinkContestRoom1_EventScript_1A5323:: @ 81A5323 waitmovement 0 releaseall addobject 13 - playse 10 + playse SE_DANSA lockall applymovement VAR_SPECIAL_B, LinkContestRoom1_Movement_1A5D9C waitmovement 0 releaseall addvar VAR_SPECIAL_6, -1 - playse 15 + playse SE_BOWA2 special ShowContestEntryMonPic call LinkContestRoom1_EventScript_1A535E return @@ -371,7 +371,7 @@ LinkContestRoom1_EventScript_1A5370:: @ 81A5370 LinkContestRoom1_EventScript_1A5377:: @ 81A5377 call LinkContestRoom1_EventScript_1A53B3 call LinkContestRoom1_EventScript_1A53CE - playse 223 + playse SE_W227B waitmessage call LinkContestRoom1_EventScript_1A5A90 applymovement 1, LinkContestRoom1_Movement_1A5D9F @@ -408,7 +408,7 @@ LinkContestRoom1_EventScript_1A53DF:: @ 81A53DF LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5 applymovement 1, LinkContestRoom1_Movement_1A5DAF waitmovement 0 - playse 223 + playse SE_W227B call LinkContestRoom1_EventScript_1A5AE4 applymovement 9, LinkContestRoom1_Movement_1A5DB7 applymovement 12, LinkContestRoom1_Movement_1A5DBB @@ -621,7 +621,7 @@ LinkContestRoom1_EventScript_1A5760:: @ 81A5760 compare VAR_TEMP_1, 1 goto_if_eq LinkContestRoom1_EventScript_1A5783 applymovement 6, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_1, 1 addvar VAR_TEMP_0, -1 @@ -634,7 +634,7 @@ LinkContestRoom1_EventScript_1A5784:: @ 81A5784 compare VAR_TEMP_2, 1 goto_if_eq LinkContestRoom1_EventScript_1A57A7 applymovement 12, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_2, 1 addvar VAR_TEMP_0, -1 @@ -647,7 +647,7 @@ LinkContestRoom1_EventScript_1A57A8:: @ 81A57A8 compare VAR_TEMP_3, 1 goto_if_eq LinkContestRoom1_EventScript_1A57CB applymovement 7, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_3, 1 addvar VAR_TEMP_0, -1 @@ -660,7 +660,7 @@ LinkContestRoom1_EventScript_1A57CC:: @ 81A57CC compare VAR_TEMP_4, 1 goto_if_eq LinkContestRoom1_EventScript_1A57EF applymovement 8, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_4, 1 addvar VAR_TEMP_0, -1 @@ -673,7 +673,7 @@ LinkContestRoom1_EventScript_1A57F0:: @ 81A57F0 compare VAR_TEMP_5, 1 goto_if_eq LinkContestRoom1_EventScript_1A5813 applymovement 9, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_5, 1 addvar VAR_TEMP_0, -1 @@ -686,7 +686,7 @@ LinkContestRoom1_EventScript_1A5814:: @ 81A5814 compare VAR_TEMP_6, 1 goto_if_eq LinkContestRoom1_EventScript_1A5837 applymovement 10, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_6, 1 addvar VAR_TEMP_0, -1 @@ -699,7 +699,7 @@ LinkContestRoom1_EventScript_1A5838:: @ 81A5838 compare VAR_TEMP_7, 1 goto_if_eq LinkContestRoom1_EventScript_1A585B applymovement 11, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_7, 1 addvar VAR_TEMP_0, -1 @@ -712,7 +712,7 @@ LinkContestRoom1_EventScript_1A585C:: @ 81A585C compare VAR_TEMP_8, 1 goto_if_eq LinkContestRoom1_EventScript_1A587F applymovement 15, LinkContestRoom1_Movement_1A5D8D - playse 21 + playse SE_PIN delay 14 setvar VAR_TEMP_8, 1 addvar VAR_TEMP_0, -1 @@ -805,7 +805,7 @@ LinkContestRoom1_EventScript_1A594A:: @ 81A594A setvar VAR_TEMP_9, 1 showcontestresults setvar VAR_TEMP_9, 0 - playbgm 439, 0 + playbgm BGM_CON_FAN, FALSE return LinkContestRoom1_EventScript_1A5984:: @ 81A5984 @@ -890,7 +890,7 @@ LinkContestRoom1_EventScript_1A5A49:: @ 81A5A49 call LinkContestRoom1_EventScript_1A5A75 applymovement VAR_TEMP_3, LinkContestRoom1_Movement_1A5D99 waitmovement 0 - playse 223 + playse SE_W227B setvar VAR_TEMP_1, 0 return @@ -1002,7 +1002,7 @@ LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB waitmessage call LinkContestRoom1_EventScript_1A5C7F call LinkContestRoom1_EventScript_1A5CE5 - playse 223 + playse SE_W227B setvar VAR_TEMP_1, 0 call LinkContestRoom1_EventScript_1A5A90 delay 30 @@ -1146,7 +1146,7 @@ LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B setflag FLAG_SYS_RIBBON_GET lockall msgbox LinkContestRoom1_Text_1A6D6A, 4 - playfanfare 370 + playfanfare BGM_FANFA4 msgbox LinkContestRoom1_Text_1A6D96, 4 waitfanfare special sub_80C4858 diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 8c2325e04..ab91466d8 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -36,7 +36,7 @@ Route117_EventScript_1B2298:: @ 81B2298 Route117_EventScript_1B22B2:: @ 81B22B2 message Route117_Text_1B27A2 - playfanfare 367 + playfanfare BGM_FANFA1 waitfanfare waitmessage waitbuttonpress @@ -208,7 +208,7 @@ Route117_PokemonDayCare_EventScript_1B24DE:: @ 81B24DE waitmovement 0 specialvar RESULT, TakePokemonFromDaycare special PayMoneyFor - playse 95 + playse SE_REGI msgbox Route117_PokemonDayCare_Text_1B2B75, 4 waitse playmoncry RESULT, 0 diff --git a/data/scripts/magma_chimney.inc b/data/scripts/magma_chimney.inc index d104b52d4..11f42daf0 100644 --- a/data/scripts/magma_chimney.inc +++ b/data/scripts/magma_chimney.inc @@ -37,7 +37,7 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB .endif applymovement 2, MtChimney_Movement_1A0839 waitmovement 0 - playse 21 + playse SE_PIN applymovement 2, MtChimney_Movement_1A0833 waitmovement 0 applymovement 2, MtChimney_Movement_1A0835 diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc index c27951abb..b4d29632e 100644 --- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc +++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc @@ -34,7 +34,7 @@ AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3 compare RESULT, 0 goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA0A msgbox AbandonedShip_Corridors_B1F_Text_198692, 4 - playse 21 + playse SE_PIN takeitem ITEM_STORAGE_KEY, 1 setflag FLAG_USED_STORAGE_KEY call AbandonedShip_Corridors_B1F_EventScript_15E9C0 diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc index 35e86543b..7b61190e5 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc @@ -66,7 +66,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playse 21 + playse SE_PIN takeitem ITEM_ROOM_1_KEY, 1 setflag FLAG_USED_ROOM_1_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 @@ -82,7 +82,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9 msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playse 21 + playse SE_PIN takeitem ITEM_ROOM_2_KEY, 1 setflag FLAG_USED_ROOM_2_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD @@ -98,7 +98,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3 msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playse 21 + playse SE_PIN takeitem ITEM_ROOM_4_KEY, 1 setflag FLAG_USED_ROOM_4_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 @@ -114,7 +114,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playse 21 + playse SE_PIN takeitem ITEM_ROOM_6_KEY, 1 setflag FLAG_USED_ROOM_6_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 diff --git a/data/scripts/maps/AquaHideout_B2F.inc b/data/scripts/maps/AquaHideout_B2F.inc index 5ec8197f9..d7b47cdfd 100644 --- a/data/scripts/maps/AquaHideout_B2F.inc +++ b/data/scripts/maps/AquaHideout_B2F.inc @@ -10,7 +10,7 @@ AquaHideout_B2F_EventScript_15D8BD:: @ 815D8BD MagmaHideout_B2F_EventScript_15D8BD:: @ 815D8BD lockall setvar VAR_SPECIAL_8, 1 - playse 21 + playse SE_PIN applymovement VAR_SPECIAL_8, AquaHideout_B2F_Movement_1A0833 waitmovement 0 .ifdef SAPPHIRE diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc index 7853b3598..1ee0d35d2 100644 --- a/data/scripts/maps/BattleTower_BattleRoom.inc +++ b/data/scripts/maps/BattleTower_BattleRoom.inc @@ -54,7 +54,7 @@ BattleTower_BattleRoom_EventScript_160961:: @ 8160961 special LoadPlayerParty special SavePlayerParty special SetBattleTowerParty - playfanfare 368 + playfanfare BGM_ME_ASA waitfanfare special ScrSpecial_HealPlayerParty @@ -110,7 +110,7 @@ BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94 message BattleTower_BattleRoom_Text_1C6CE1 delay 60 waitmessage - playse 55 + playse SE_SAVE waitse msgbox BattleTower_BattleRoom_Text_1C6D05, 4 diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc index 4058d5aae..5700480e2 100644 --- a/data/scripts/maps/BattleTower_Lobby.inc +++ b/data/scripts/maps/BattleTower_Lobby.inc @@ -84,7 +84,7 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342 goto_if_eq BattleTower_Lobby_EventScript_16037D message BattleTower_Lobby_Text_19A6BE waitmessage - playfanfare 370 + playfanfare BGM_FANFA4 waitfanfare msgbox BattleTower_Lobby_Text_19A719, 4 @@ -100,7 +100,7 @@ BattleTower_Lobby_EventScript_16037D:: @ 816037D special DetermineBattleTowerPrize setvar VAR_SPECIAL_4, 3 special SaveBattleTowerProgress - playse 55 + playse SE_SAVE waitse BattleTower_Lobby_EventScript_1603AD:: @ 81603AD @@ -114,7 +114,7 @@ BattleTower_Lobby_EventScript_1603AD:: @ 81603AD case 0, BattleTower_Lobby_EventScript_160408 message BattleTower_Lobby_Text_19A506 waitmessage - playfanfare 370 + playfanfare BGM_FANFA4 waitfanfare setvar VAR_SPECIAL_4, 9 special BattleTowerUtil @@ -148,7 +148,7 @@ BattleTower_Lobby_EventScript_160419:: @ 8160419 special SetBattleTowerProperty setvar VAR_SPECIAL_4, 0 special SaveBattleTowerProgress - playse 55 + playse SE_SAVE waitse msgbox BattleTower_Lobby_Text_199FA9, 4 closemessage @@ -166,7 +166,7 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B waitmessage setvar VAR_SPECIAL_4, 1 special SaveBattleTowerProgress - playse 55 + playse SE_SAVE waitse setvar VAR_SPECIAL_4, 8 setvar VAR_SPECIAL_5, 0 diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc index 669b0a5fe..904759cf1 100644 --- a/data/scripts/maps/CaveOfOrigin_B4F.inc +++ b/data/scripts/maps/CaveOfOrigin_B4F.inc @@ -37,7 +37,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 doweather special WaitWeather waitstate - playse 209 + playse SE_W197 setfieldeffectargument 0, 9 setfieldeffectargument 1, 13 setfieldeffectargument 2, 0 @@ -48,7 +48,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 .else setvar RESULT, 2 .endif - playse 107 + playse SE_TAMA special sub_80818A4 waitstate special sub_80818FC diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc index ee7d77d6b..ba933dbe9 100644 --- a/data/scripts/maps/DewfordTown_Gym.inc +++ b/data/scripts/maps/DewfordTown_Gym.inc @@ -56,25 +56,25 @@ DewfordTown_Gym_EventScript_1530F5:: @ 81530F5 return DewfordTown_Gym_EventScript_1530F6:: @ 81530F6 - playse 35 + playse SE_MU_PACHI animateflash 3 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_153101:: @ 8153101 - playse 35 + playse SE_MU_PACHI animateflash 2 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_15310C:: @ 815310C - playse 35 + playse SE_MU_PACHI animateflash 1 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_153117:: @ 8153117 - playse 35 + playse SE_MU_PACHI animateflash 0 call DewfordTown_Gym_EventScript_153071 return diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc index 1ca62b61c..29c29c80b 100644 --- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc +++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc @@ -38,20 +38,20 @@ EverGrandeCity_ChampionsRoom_Movement_15B802:: @ 815B802 step_end EverGrandeCity_ChampionsRoom_EventScript_15B805:: @ 815B805 - playbgm 454, 0 + playbgm BGM_DAIGO, FALSE msgbox EverGrandeCity_ChampionsRoom_Text_190F9C, 4 trainerbattle 3, OPPONENT_STEVEN, 0, EverGrandeCity_ChampionsRoom_Text_1910A0 goto EverGrandeCity_ChampionsRoom_EventScript_15B821 end EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821 - playse 8 + playse SE_DOOR setmetatile 6, 1, 838, 0 setmetatile 6, 2, 839, 0 special DrawWholeMapView msgbox EverGrandeCity_ChampionsRoom_Text_1910FE, 4 closemessage - playse 8 + playse SE_DOOR checkplayergender compare RESULT, 0 call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C @@ -67,17 +67,17 @@ EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821 end EverGrandeCity_ChampionsRoom_EventScript_15B87C:: @ 815B87C - playbgm 415, 0 + playbgm BGM_GIRL_SUP, FALSE return EverGrandeCity_ChampionsRoom_EventScript_15B881:: @ 815B881 - playbgm 421, 0 + playbgm BGM_BOY_SUP, FALSE return EverGrandeCity_ChampionsRoom_EventScript_15B886:: @ 815B886 msgbox EverGrandeCity_ChampionsRoom_Text_191225, 4 delay 40 - playse 21 + playse SE_PIN applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0833 waitmovement 0 applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0835 @@ -90,7 +90,7 @@ EverGrandeCity_ChampionsRoom_EventScript_15B886:: @ 815B886 EverGrandeCity_ChampionsRoom_EventScript_15B8BB:: @ 815B8BB msgbox EverGrandeCity_ChampionsRoom_Text_1912B3, 4 delay 40 - playse 21 + playse SE_PIN applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0833 waitmovement 0 applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0835 diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc index d83745593..a738264fe 100644 --- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc @@ -43,7 +43,7 @@ EverGrandeCity_DrakesRoom_EventScript_15B764:: @ 815B764 faceplayer checkflag FLAG_DEFEATED_ELITE_4_DRAKE goto_if_eq EverGrandeCity_DrakesRoom_EventScript_15B78B - playbgm 450, 0 + playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_DrakesRoom_Text_190CEB, 4 trainerbattle 3, OPPONENT_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_190E42 goto EverGrandeCity_DrakesRoom_EventScript_15B795 diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc index 0e5b493e2..e3a4145d6 100644 --- a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc +++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc @@ -43,7 +43,7 @@ EverGrandeCity_GlaciasRoom_EventScript_15B6CA:: @ 815B6CA faceplayer checkflag FLAG_DEFEATED_ELITE_4_GLACIA goto_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6F1 - playbgm 450, 0 + playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_GlaciasRoom_Text_190AF9, 4 trainerbattle 3, OPPONENT_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_190C01 goto EverGrandeCity_GlaciasRoom_EventScript_15B6FB diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc index 19219a626..d23f234db 100644 --- a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc @@ -43,7 +43,7 @@ EverGrandeCity_PhoebesRoom_EventScript_15B630:: @ 815B630 faceplayer checkflag FLAG_DEFEATED_ELITE_4_PHOEBE goto_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B657 - playbgm 450, 0 + playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_PhoebesRoom_Text_1908F5, 4 trainerbattle 3, OPPONENT_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_190A0C goto EverGrandeCity_PhoebesRoom_EventScript_15B661 diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc index 5957508ae..a787b0f90 100644 --- a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc +++ b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc @@ -64,7 +64,7 @@ EverGrandeCity_PokemonLeague_EventScript_15BAD2:: @ 815BAD2 applymovement 4, EverGrandeCity_PokemonLeague_Movement_15BB81 waitmovement 0 delay 10 - playfanfare 369 + playfanfare BGM_ME_BACHI message EverGrandeCity_PokemonLeague_Text_191804 waitmessage waitfanfare @@ -86,7 +86,7 @@ EverGrandeCity_PokemonLeague_EventScript_15BB3F:: @ 815BB3F return EverGrandeCity_PokemonLeague_EventScript_15BB4A:: @ 815BB4A - playse 32 + playse SE_HAZURE msgbox EverGrandeCity_PokemonLeague_Text_19179C, 4 releaseall end diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc index f3df03b7d..4531845ab 100644 --- a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc +++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc @@ -44,7 +44,7 @@ EverGrandeCity_SidneysRoom_EventScript_15B596:: @ 815B596 faceplayer checkflag FLAG_DEFEATED_ELITE_4_SYDNEY goto_if_eq EverGrandeCity_SidneysRoom_EventScript_15B5BD - playbgm 450, 0 + playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_SidneysRoom_Text_190728, 4 trainerbattle 3, OPPONENT_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_190823 goto EverGrandeCity_SidneysRoom_EventScript_15B5C7 diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc index 270575bcb..641a201e3 100644 --- a/data/scripts/maps/FallarborTown_ContestLobby.inc +++ b/data/scripts/maps/FallarborTown_ContestLobby.inc @@ -22,13 +22,13 @@ FallarborTown_ContestLobby_EventScript_1539F8:: @ 81539F8 lockall applymovement 1, FallarborTown_ContestLobby_Movement_153A7C waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 545, 1 setmetatile 4, 3, 609, 1 special DrawWholeMapView applymovement 1, FallarborTown_ContestLobby_Movement_153A7F waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 721, 1 setmetatile 4, 3, 729, 1 special DrawWholeMapView diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc index 0c9880137..93a5115af 100644 --- a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc @@ -46,7 +46,7 @@ FallarborTown_PokemonCenter_1F_EventScript_153B59:: @ 8153B59 end FallarborTown_PokemonCenter_1F_EventScript_153B69:: @ 8153B69 - playse 18 + playse SE_JIDO_DOA removeobject 4 clearflag FLAG_HIDE_LANETTE release diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc index 3d4a57c13..c9616266e 100644 --- a/data/scripts/maps/GraniteCave_StevensRoom.inc +++ b/data/scripts/maps/GraniteCave_StevensRoom.inc @@ -22,7 +22,7 @@ GraniteCave_StevensRoom_EventScript_15CBFA:: @ 815CBFA call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D compare FACING, 4 call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D - playse 9 + playse SE_KAIDAN removeobject 1 release end diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc index 43a8ed7cd..e81c3b69f 100644 --- a/data/scripts/maps/LavaridgeTown.inc +++ b/data/scripts/maps/LavaridgeTown.inc @@ -58,11 +58,11 @@ LavaridgeTown_EventScript_14E4ED:: @ 814E4ED end LavaridgeTown_EventScript_14E56B:: @ 814E56B - playbgm 415, 1 + playbgm BGM_GIRL_SUP, TRUE return LavaridgeTown_EventScript_14E570:: @ 814E570 - playbgm 421, 1 + playbgm BGM_BOY_SUP, TRUE return LavaridgeTown_EventScript_14E575:: @ 814E575 @@ -282,7 +282,7 @@ LavaridgeTown_EventScript_14E75A:: @ 814E75A goto_if_eq LavaridgeTown_EventScript_14E7A8 msgbox LavaridgeTown_Text_16C2B6, 4 setflag FLAG_RECEIVED_LAVARIDGE_EGG - playfanfare 370 + playfanfare BGM_FANFA4 message LavaridgeTown_Text_16C2EA waitfanfare waitmessage diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc index 5c05639fd..0d714003e 100644 --- a/data/scripts/maps/LilycoveCity.inc +++ b/data/scripts/maps/LilycoveCity.inc @@ -255,7 +255,7 @@ LilycoveCity_EventScript_14CD46:: @ 814CD46 end LilycoveCity_EventScript_14CD60:: @ 814CD60 - playbgm 415, 1 + playbgm BGM_GIRL_SUP, TRUE checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE call_if 1, LilycoveCity_EventScript_14CDB0 checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE @@ -286,7 +286,7 @@ LilycoveCity_EventScript_14CDC2:: @ 814CDC2 end LilycoveCity_EventScript_14CDD3:: @ 814CDD3 - playbgm 421, 1 + playbgm BGM_BOY_SUP, TRUE checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE call_if 1, LilycoveCity_EventScript_14CE23 checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index 377c2908d..591587be8 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -72,13 +72,13 @@ LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948 special sub_80C4858 applymovement 4, LilycoveCity_ContestLobby_Movement_158A4E waitmovement 0 - playse 21 + playse SE_PIN applymovement 4, LilycoveCity_ContestLobby_Movement_1A0833 waitmovement 0 applymovement 4, LilycoveCity_ContestLobby_Movement_158A52 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_188BB5, 4 - playfanfare 370 + playfanfare BGM_FANFA4 msgbox LilycoveCity_ContestLobby_Text_188C03, 4 waitfanfare msgbox LilycoveCity_ContestLobby_Text_188C19, 4 @@ -245,13 +245,13 @@ LilycoveCity_ContestLobby_EventScript_158B18:: @ 8158B18 special sub_80C4858 applymovement 11, LilycoveCity_ContestLobby_Movement_158B78 waitmovement 0 - playse 21 + playse SE_PIN applymovement 11, LilycoveCity_ContestLobby_Movement_1A0833 waitmovement 0 applymovement 11, LilycoveCity_ContestLobby_Movement_158B7C waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_188BB5, 4 - playfanfare 370 + playfanfare BGM_FANFA4 msgbox LilycoveCity_ContestLobby_Text_188C03, 4 waitfanfare msgbox LilycoveCity_ContestLobby_Text_188C19, 4 @@ -496,13 +496,13 @@ LilycoveCity_ContestLobby_EventScript_158E0B:: @ 8158E0B closemessage applymovement 2, LilycoveCity_ContestLobby_Movement_158E9C waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 9, 2, 545, 1 setmetatile 9, 3, 609, 1 special DrawWholeMapView applymovement 2, LilycoveCity_ContestLobby_Movement_158EA0 waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 9, 2, 721, 1 setmetatile 9, 3, 729, 1 special DrawWholeMapView @@ -635,13 +635,13 @@ LilycoveCity_ContestLobby_EventScript_158F86:: @ 8158F86 lockall applymovement 1, LilycoveCity_ContestLobby_Movement_15900B waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 545, 1 setmetatile 4, 3, 609, 1 special DrawWholeMapView applymovement 1, LilycoveCity_ContestLobby_Movement_15900F waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 721, 1 setmetatile 4, 3, 729, 1 special DrawWholeMapView diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc index 3e4caf100..c8a3dcab9 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc @@ -41,7 +41,7 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_158326:: @ 8158326 LilycoveCity_CoveLilyMotel_1F_EventScript_15834D:: @ 815834D lockall - playse 21 + playse SE_PIN applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0833 waitmovement 0 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0835 diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc index 7e221122b..4878cc6bc 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc @@ -20,7 +20,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7:: @ 81583C7 LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0:: @ 81583D0 setflag FLAG_TEMP_2 - playfanfare 370 + playfanfare BGM_FANFA4 waitfanfare goto LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD end diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc index ff7722f13..da4009759 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc @@ -147,7 +147,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 updatemoneybox 0, 0 nop bufferitemname 0, VAR_TEMP_0 - playse 106 + playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C75F, 4 giveitem VAR_TEMP_0, 1 bufferitemname 1, VAR_TEMP_0 @@ -159,7 +159,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 checkitemspace VAR_TEMP_0, 1 compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 - playse 106 + playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C780, 4 giveitem VAR_TEMP_0, 1 bufferitemname 1, VAR_TEMP_0 @@ -171,7 +171,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 checkitemspace VAR_TEMP_0, 1 compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 - playse 106 + playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C780, 4 giveitem VAR_TEMP_0, 1 bufferitemname 1, VAR_TEMP_0 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc index d4dedb0c2..12d8bfb4e 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc @@ -25,7 +25,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E msgbox LilycoveCity_DepartmentStore_1F_Text_1C4CF6, 4 applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843 waitmovement 0 - playse 4 + playse SE_PC_ON special DoLotteryCornerComputerEffect special PickLotteryCornerTicket delay 220 diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc index a3c8d23af..0c9a9054b 100644 --- a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc +++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc @@ -40,7 +40,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53 special DeleteMonMove - playfanfare 378 + playfanfare BGM_ME_WASURE waitfanfare msgbox LilycoveCity_MoveDeletersHouse_Text_18B71E, 4 releaseall diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc index c11546bb5..ef2145bbb 100644 --- a/data/scripts/maps/LittlerootTown.inc +++ b/data/scripts/maps/LittlerootTown.inc @@ -99,7 +99,7 @@ LittlerootTown_EventScript_14D60D:: @ 814D60D LittlerootTown_EventScript_14D62B:: @ 814D62B delay 15 - playse 10 + playse SE_DANSA applymovement 255, LittlerootTown_Movement_14D6C0 waitmovement 0 opendoor VAR_SPECIAL_4, VAR_SPECIAL_5 @@ -868,7 +868,7 @@ LittlerootTown_EventScript_14DD2B:: @ 814DD2B LittlerootTown_EventScript_14DD38:: @ 814DD38 msgbox LittlerootTown_Text_16A8FD, 4 - playfanfare 370 + playfanfare BGM_FANFA4 message LittlerootTown_Text_16AA32 waitfanfare waitmessage diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc index 4ce1e277a..8a86cd946 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc @@ -90,7 +90,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_152733:: @ 8152733 LittlerootTown_BrendansHouse_1F_EventScript_152744:: @ 8152744 lockall - playse 21 + playse SE_PIN applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1A0833 waitmovement 0 applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1A0835 diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc index af7a2976b..45e9e0783 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc @@ -90,7 +90,7 @@ LittlerootTown_MaysHouse_1F_EventScript_152971:: @ 8152971 LittlerootTown_MaysHouse_1F_EventScript_152982:: @ 8152982 lockall - playse 21 + playse SE_PIN applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1A0833 waitmovement 0 applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1A0835 diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc index 8bd9a01d2..34300b13e 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc @@ -37,7 +37,7 @@ LittlerootTown_MaysHouse_2F_EventScript_152A9D:: @ 8152A9D call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4 compare RESULT, 1 call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A - playse 9 + playse SE_KAIDAN removeobject LAST_TALKED setvar VAR_LITTLEROOT_RIVAL_STATE, 3 setvar VAR_LITTLEROOT_STATE, 1 @@ -48,7 +48,7 @@ LittlerootTown_MaysHouse_2F_EventScript_152A9D:: @ 8152A9D LittlerootTown_BrendansHouse_2F_EventScript_152AD4:: @ 8152AD4 msgbox LittlerootTown_BrendansHouse_2F_Text_17337E, 4 - playbgm 415, 1 + playbgm BGM_GIRL_SUP, TRUE applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 waitmovement 0 applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833 @@ -82,7 +82,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_152B3F:: @ 8152B3F LittlerootTown_BrendansHouse_2F_EventScript_152B4A:: @ 8152B4A msgbox LittlerootTown_BrendansHouse_2F_Text_1735C9, 4 - playbgm 421, 1 + playbgm BGM_BOY_SUP, TRUE applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 waitmovement 0 applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833 diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc index 44adab6f1..e1cb348fd 100644 --- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc +++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc @@ -27,7 +27,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152CBE:: @ 8152CBE bufferleadmonspeciesname 0 message LittlerootTown_ProfessorBirchsLab_Text_173D94 waitmessage - playfanfare 370 + playfanfare BGM_FANFA4 waitfanfare msgbox LittlerootTown_ProfessorBirchsLab_Text_173EF8, 5 compare RESULT, 1 @@ -155,7 +155,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E40:: @ 8152E40 return LittlerootTown_ProfessorBirchsLab_EventScript_152E6D:: @ 8152E6D - playfanfare 370 + playfanfare BGM_FANFA4 message LittlerootTown_ProfessorBirchsLab_Text_17422F waitfanfare waitmessage diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc index 6861e46c8..d7f0611e1 100644 --- a/data/scripts/maps/MauvilleCity.inc +++ b/data/scripts/maps/MauvilleCity.inc @@ -95,7 +95,7 @@ MauvilleCity_EventScript_14C0F9:: @ 814C0F9 msgbox MauvilleCity_Text_165D01, 4 applymovement 6, MauvilleCity_Movement_1A0839 waitmovement 0 - playse 21 + playse SE_PIN applymovement 6, MauvilleCity_Movement_1A0833 waitmovement 0 applymovement 6, MauvilleCity_Movement_1A0835 diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index c2b785254..c40c05d37 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -43,7 +43,7 @@ MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE updatemoneybox 0, 0 nop updatecoinsbox 0, 5 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181CFE, 4 hidemoneybox 0, 0 hidecoinsbox 0, 5 @@ -62,7 +62,7 @@ MauvilleCity_GameCorner_EventScript_156AF0:: @ 8156AF0 updatemoneybox 0, 0 nop updatecoinsbox 0, 5 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181CFE, 4 hidemoneybox 0, 0 hidecoinsbox 0, 5 @@ -163,7 +163,7 @@ MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46 takecoins 1000 givedecoration 88 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181E49, 4 goto MauvilleCity_GameCorner_EventScript_156B9B end @@ -179,7 +179,7 @@ MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80 takecoins 1000 givedecoration 89 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181E49, 4 goto MauvilleCity_GameCorner_EventScript_156B9B end @@ -195,7 +195,7 @@ MauvilleCity_GameCorner_EventScript_156CBA:: @ 8156CBA takecoins 1000 givedecoration 90 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181E49, 4 goto MauvilleCity_GameCorner_EventScript_156B9B end @@ -297,7 +297,7 @@ MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C takecoins 1500 giveitem ITEM_TM32, 1 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181F08, 4 goto MauvilleCity_GameCorner_EventScript_156D49 end @@ -312,7 +312,7 @@ MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76 takecoins 3500 giveitem ITEM_TM29, 1 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181F08, 4 goto MauvilleCity_GameCorner_EventScript_156D49 end @@ -327,7 +327,7 @@ MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0 takecoins 4000 giveitem ITEM_TM35, 1 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181F08, 4 goto MauvilleCity_GameCorner_EventScript_156D49 end @@ -342,7 +342,7 @@ MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA takecoins 4000 giveitem ITEM_TM24, 1 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181F08, 4 goto MauvilleCity_GameCorner_EventScript_156D49 end @@ -357,7 +357,7 @@ MauvilleCity_GameCorner_EventScript_156F24:: @ 8156F24 takecoins 4000 giveitem ITEM_TM13, 1 updatecoinsbox 0, 0 - playse 95 + playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181F08, 4 goto MauvilleCity_GameCorner_EventScript_156D49 end @@ -468,7 +468,7 @@ MauvilleCity_GameCorner_EventScript_15709C:: @ 815709C setflag FLAG_RECEIVED_20_COINS givecoins 20 msgbox MauvilleCity_GameCorner_Text_18208E, 4 - playse 95 + playse SE_REGI goto MauvilleCity_GameCorner_EventScript_1570CA end diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc index 05287c7de..fd9c673dc 100644 --- a/data/scripts/maps/MauvilleCity_Gym.inc +++ b/data/scripts/maps/MauvilleCity_Gym.inc @@ -91,7 +91,7 @@ MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB call MauvilleCity_Gym_EventScript_1A01C0 special MauvilleGymSpecial3 special DrawWholeMapView - playse 44 + playse SE_KI_GASYAN goto MauvilleCity_Gym_EventScript_15661D end @@ -146,7 +146,7 @@ MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA special MauvilleGymSpecial2 special MauvilleGymSpecial1 special DrawWholeMapView - playse 44 + playse SE_KI_GASYAN checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE goto_if_eq MauvilleCity_Gym_EventScript_1566E1 checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc index a058003bc..32269ab89 100644 --- a/data/scripts/maps/MauvilleCity_House2.inc +++ b/data/scripts/maps/MauvilleCity_House2.inc @@ -14,7 +14,7 @@ MauvilleCity_House2_EventScript_1572C0:: @ 81572C0 end MauvilleCity_House2_EventScript_1572E5:: @ 81572E5 - playse 21 + playse SE_PIN applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0833 waitmovement 0 applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0835 diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc index a3e396ab0..bf51408b8 100644 --- a/data/scripts/maps/MeteorFalls_1F_1R.inc +++ b/data/scripts/maps/MeteorFalls_1F_1R.inc @@ -18,7 +18,7 @@ MeteorFalls_1F_1R_EventScript_15C49C:: @ 815C49C applymovement 5, MeteorFalls_1F_1R_Movement_1A0841 applymovement 6, MeteorFalls_1F_1R_Movement_1A0841 waitmovement 0 - playse 21 + playse SE_PIN applymovement 5, MeteorFalls_1F_1R_Movement_1A0833 waitmovement 0 applymovement 5, MeteorFalls_1F_1R_Movement_1A0835 diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc index 54a9546c4..bc22ce3fe 100644 --- a/data/scripts/maps/MossdeepCity_Gym.inc +++ b/data/scripts/maps/MossdeepCity_Gym.inc @@ -94,7 +94,7 @@ MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA MossdeepCity_Gym_EventScript_15A619:: @ 815A619 special DrawWholeMapView - playse 36 + playse SE_TK_KASYA releaseall end diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc index eababfa6c..9aa9d8ef3 100644 --- a/data/scripts/maps/MossdeepCity_StevensHouse.inc +++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc @@ -31,7 +31,7 @@ MossdeepCity_StevensHouse_EventScript_15AA0B:: @ 815AA0B lockall applymovement 1, MossdeepCity_StevensHouse_Movement_1A083F waitmovement 0 - playse 21 + playse SE_PIN applymovement 1, MossdeepCity_StevensHouse_Movement_1A0833 waitmovement 0 applymovement 1, MossdeepCity_StevensHouse_Movement_1A0835 @@ -79,7 +79,7 @@ MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C goto_if_eq MossdeepCity_StevensHouse_EventScript_15AADC copyvar VAR_SPECIAL_4, RESULT removeobject 2 - playfanfare 370 + playfanfare BGM_FANFA4 message MossdeepCity_StevensHouse_Text_18DD61 waitfanfare waitmessage diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc index 1e4cdf256..b7d68b257 100644 --- a/data/scripts/maps/NewMauville_Entrance.inc +++ b/data/scripts/maps/NewMauville_Entrance.inc @@ -40,7 +40,7 @@ NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC setmetatile 4, 1, 716, 0 setmetatile 5, 1, 717, 1 special DrawWholeMapView - playse 20 + playse SE_BAN setvar VAR_NEW_MAUVILLE_STATE, 1 releaseall end diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc index 283b6bfed..ae33d7978 100644 --- a/data/scripts/maps/NewMauville_Inside.inc +++ b/data/scripts/maps/NewMauville_Inside.inc @@ -31,7 +31,7 @@ NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA lockall setvar VAR_TEMP_1, 1 setvar VAR_TEMP_2, 0 - playse 21 + playse SE_PIN call NewMauville_Inside_EventScript_15E5DA special DrawWholeMapView releaseall @@ -41,7 +41,7 @@ NewMauville_Inside_EventScript_15E5C2:: @ 815E5C2 lockall setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 1 - playse 21 + playse SE_PIN call NewMauville_Inside_EventScript_15E728 special DrawWholeMapView releaseall diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc index 329313e74..a2d2616d3 100644 --- a/data/scripts/maps/OldaleTown.inc +++ b/data/scripts/maps/OldaleTown.inc @@ -43,7 +43,7 @@ OldaleTown_EventScript_14DDBC:: @ 814DDBC checkflag FLAG_TEMP_1 goto_if_eq OldaleTown_EventScript_14DE79 setflag FLAG_TEMP_1 - playbgm 420, 0 + playbgm BGM_TSURETEK, FALSE msgbox OldaleTown_Text_16AEF2, 4 closemessage switch FACING diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc index 2ac3f35f9..ea58f50c6 100644 --- a/data/scripts/maps/PetalburgCity.inc +++ b/data/scripts/maps/PetalburgCity.inc @@ -16,7 +16,7 @@ PetalburgCity_EventScript_14B731:: @ 814B731 return PetalburgCity_EventScript_14B739:: @ 814B739 - savebgm 420 + savebgm BGM_TSURETEK return PetalburgCity_MapScript2_14B73D:: @ 814B73D @@ -181,8 +181,8 @@ PetalburgCity_EventScript_14B85A:: @ 814B85A PetalburgCity_EventScript_14B866:: @ 814B866 applymovement 9, PetalburgCity_Movement_1A0839 waitmovement 0 - playbgm 420, 0 - playse 21 + playbgm BGM_TSURETEK, FALSE + playse SE_PIN applymovement 9, PetalburgCity_Movement_1A0833 waitmovement 0 applymovement 9, PetalburgCity_Movement_1A0835 diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc index 1bd1649cf..de141daf9 100644 --- a/data/scripts/maps/PetalburgCity_Gym.inc +++ b/data/scripts/maps/PetalburgCity_Gym.inc @@ -84,7 +84,7 @@ PetalburgCity_Gym_EventScript_15456C:: @ 815456C applymovement 255, PetalburgCity_Gym_Movement_1A0845 applymovement 10, PetalburgCity_Gym_Movement_1545B4 waitmovement 0 - playse 9 + playse SE_KAIDAN removeobject 10 setflag FLAG_HIDE_WALLY_PETALBURG delay 30 @@ -143,7 +143,7 @@ PetalburgCity_Gym_EventScript_15465E:: @ 815465E PetalburgCity_Gym_EventScript_154669:: @ 8154669 addobject 10 - playse 8 + playse SE_DOOR compare VAR_SPECIAL_8, 0 call_if 1, PetalburgCity_Gym_EventScript_1547EE compare VAR_SPECIAL_8, 1 @@ -195,7 +195,7 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669 msgbox PetalburgCity_Gym_Text_17A171, 4 closemessage setflag FLAG_SPECIAL_FLAG_1 - playbgm 420, 0 + playbgm BGM_TSURETEK, FALSE compare VAR_SPECIAL_8, 0 call_if 1, PetalburgCity_Gym_EventScript_154835 compare VAR_SPECIAL_8, 1 diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc index 73eb4f661..149fd4e46 100644 --- a/data/scripts/maps/PetalburgWoods.inc +++ b/data/scripts/maps/PetalburgWoods.inc @@ -13,7 +13,7 @@ PetalburgWoods_EventScript_15CCA8:: @ 815CCA8 waitmovement 0 msgbox PetalburgWoods_Text_194D92, 4 closemessage - playbgm BGM_EVIL_TEAM, 0 + playbgm BGM_EVIL_TEAM, FALSE applymovement 3, PetalburgWoods_Movement_15CEC3 waitmovement 0 msgbox PetalburgWoods_Text_194DED, 4 @@ -48,7 +48,7 @@ PetalburgWoods_EventScript_15CD42:: @ 815CD42 waitmovement 0 msgbox PetalburgWoods_Text_194D92, 4 closemessage - playbgm BGM_EVIL_TEAM, 0 + playbgm BGM_EVIL_TEAM, FALSE applymovement 3, PetalburgWoods_Movement_15CEC3 waitmovement 0 msgbox PetalburgWoods_Text_194DED, 4 diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc index 6749f2136..6840c45f4 100644 --- a/data/scripts/maps/Route101.inc +++ b/data/scripts/maps/Route101.inc @@ -18,7 +18,7 @@ Route101_EventScript_14E93F:: @ 814E93F Route101_EventScript_14E948:: @ 814E948 lockall - playbgm 410, 1 + playbgm BGM_EVENT0, TRUE msgbox Route101_Text_16D10E, 4 closemessage setobjectxy 2, 0, 15 diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc index bfcbeb87a..22c3fa391 100644 --- a/data/scripts/maps/Route103.inc +++ b/data/scripts/maps/Route103.inc @@ -18,7 +18,7 @@ Route103_EventScript_14EB92:: @ 814EB92 Route103_EventScript_14EBAB:: @ 814EBAB msgbox Route103_Text_16D57A, 4 - playbgm 415, 1 + playbgm BGM_GIRL_SUP, TRUE applymovement 2, Route103_Movement_1A0839 waitmovement 0 applymovement 2, Route103_Movement_1A0833 @@ -34,7 +34,7 @@ Route103_EventScript_14EBAB:: @ 814EBAB Route103_EventScript_14EC04:: @ 814EC04 msgbox Route103_Text_16D762, 4 - playbgm 421, 1 + playbgm BGM_BOY_SUP, TRUE applymovement 2, Route103_Movement_1A0839 waitmovement 0 applymovement 2, Route103_Movement_1A0833 @@ -100,7 +100,7 @@ Route103_EventScript_14ECD9:: @ 814ECD9 Route103_EventScript_14ED0C:: @ 814ED0C applymovement 2, Route103_Movement_14ED67 waitmovement 0 - playse 10 + playse SE_DANSA applymovement 2, Route103_Movement_14ED6B waitmovement 0 goto Route103_EventScript_14ED46 @@ -109,7 +109,7 @@ Route103_EventScript_14ED0C:: @ 814ED0C Route103_EventScript_14ED29:: @ 814ED29 applymovement 2, Route103_Movement_14ED71 waitmovement 0 - playse 10 + playse SE_DANSA applymovement 2, Route103_Movement_14ED74 waitmovement 0 goto Route103_EventScript_14ED46 diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc index 586031a1a..d5219582c 100644 --- a/data/scripts/maps/Route110.inc +++ b/data/scripts/maps/Route110.inc @@ -17,7 +17,7 @@ Route110_MapScript1_14F914:: @ 814F914 end Route110_EventScript_14F92F:: @ 814F92F - savebgm 403 @ Bicycle music + savebgm BGM_CYCLING return Route110_MapScript2_14F933:: @ 814F933 @@ -352,11 +352,11 @@ Route110_EventScript_14FD34:: @ 814FD34 end Route110_EventScript_14FDA7:: @ 814FDA7 - playbgm 415, 1 + playbgm BGM_GIRL_SUP, TRUE return Route110_EventScript_14FDAC:: @ 814FDAC - playbgm 421, 1 + playbgm BGM_BOY_SUP, TRUE return Route110_EventScript_14FDB1:: @ 814FDB1 diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc index c825c1234..e7e19b4dd 100644 --- a/data/scripts/maps/Route110_TrickHouseEnd.inc +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -182,7 +182,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF Route110_TrickHouseEnd_EventScript_161C2E:: @ 8161C2E applymovement 1, Route110_TrickHouseEnd_Movement_161315 waitmovement 0 - playse 178 + playse SE_W153 applymovement 1, Route110_TrickHouseEnd_Movement_16131E waitmovement 0 removeobject 1 @@ -224,13 +224,13 @@ Route110_TrickHouseEnd_EventScript_161C95:: @ 8161C95 Route110_TrickHouseEnd_EventScript_161CA0:: @ 8161CA0 lockall turnobject 1, 3 - playse 21 + playse SE_PIN applymovement 1, Route110_TrickHouseEnd_Movement_1A0833 waitmovement 0 delay 20 applymovement 1, Route110_TrickHouseEnd_Movement_161CEA waitmovement 0 - playse 178 + playse SE_W153 applymovement 255, Route110_TrickHouseEnd_Movement_1A0845 waitmovement 0 msgbox Route110_TrickHouseEnd_Text_19CA8B, 4 diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc index 8a8dd2763..e5a216db4 100644 --- a/data/scripts/maps/Route110_TrickHouseEntrance.inc +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -220,7 +220,7 @@ Route110_TrickHouseEntrance_EventScript_1611D7:: @ 81611D7 delay 20 applymovement 1, Route110_TrickHouseEntrance_Movement_161315 waitmovement 0 - playse 178 + playse SE_W153 applymovement 1, Route110_TrickHouseEntrance_Movement_16131E waitmovement 0 removeobject 1 @@ -243,7 +243,7 @@ Route110_TrickHouseEntrance_EventScript_16121A:: @ 816121A end Route110_TrickHouseEntrance_EventScript_16124D:: @ 816124D - playse 21 + playse SE_PIN applymovement 255, Route110_TrickHouseEntrance_Movement_1A0833 waitmovement 0 applymovement 255, Route110_TrickHouseEntrance_Movement_1A0835 @@ -336,7 +336,7 @@ Route110_TrickHouseEntrance_EventScript_161330:: @ 8161330 closemessage applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839 waitmovement 0 - playse 21 + playse SE_PIN applymovement 1, Route110_TrickHouseEntrance_Movement_1A0833 waitmovement 0 applymovement 1, Route110_TrickHouseEntrance_Movement_1A0835 @@ -469,7 +469,7 @@ Route110_TrickHouseEntrance_EventScript_161551:: @ 8161551 waitmovement 0 applymovement 1, Route110_TrickHouseEntrance_Movement_161315 waitmovement 0 - playse 178 + playse SE_W153 applymovement 1, Route110_TrickHouseEntrance_Movement_16131E waitmovement 0 removeobject 1 @@ -714,7 +714,7 @@ Route110_TrickHousePuzzle5_EventScript_16189C:: @ 816189C Route110_TrickHousePuzzle6_EventScript_16189C:: @ 816189C Route110_TrickHousePuzzle7_EventScript_16189C:: @ 816189C Route110_TrickHousePuzzle8_EventScript_16189C:: @ 816189C - playfanfare 370 + playfanfare BGM_FANFA4 message Route110_TrickHousePuzzle1_Text_19C1B8 waitfanfare waitmessage diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc index 9ebde8451..b1cb0c9df 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc @@ -36,7 +36,7 @@ Route110_TrickHousePuzzle2_EventScript_161DD5:: @ 8161DD5 Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0 lockall setvar VAR_TEMP_1, 1 - playse 21 + playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_161E2C special DrawWholeMapView releaseall @@ -45,7 +45,7 @@ Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0 Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3 lockall setvar VAR_TEMP_2, 1 - playse 21 + playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_161E3F special DrawWholeMapView releaseall @@ -54,7 +54,7 @@ Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3 Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06 lockall setvar VAR_TEMP_3, 1 - playse 21 + playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_161E52 special DrawWholeMapView releaseall @@ -63,7 +63,7 @@ Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06 Route110_TrickHousePuzzle2_EventScript_161E19:: @ 8161E19 lockall setvar VAR_TEMP_4, 1 - playse 21 + playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_161E65 special DrawWholeMapView releaseall diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc index cb129b06d..8d5392ae8 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc @@ -289,7 +289,7 @@ Route110_TrickHousePuzzle3_EventScript_1625F3:: @ 81625F3 Route110_TrickHousePuzzle3_EventScript_1625FF:: @ 81625FF call Route110_TrickHousePuzzle3_EventScript_162612 - playse 21 + playse SE_PIN call Route110_TrickHousePuzzle3_EventScript_161F12 goto Route110_TrickHousePuzzle3_EventScript_1626AD end diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc index 5fedee3a9..1bcdb8087 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle5.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc @@ -160,7 +160,7 @@ Route110_TrickHousePuzzle5_EventScript_162933:: @ 8162933 Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F setvar VAR_TEMP_1, 1 setvar VAR_TEMP_8, 1 - playse 21 + playse SE_PIN applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0833 waitmovement 0 applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0835 @@ -182,7 +182,7 @@ Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3 setvar VAR_TEMP_2, 1 setvar VAR_TEMP_8, 2 - playse 21 + playse SE_PIN applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0833 waitmovement 0 applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0835 @@ -204,7 +204,7 @@ Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3 Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27 setvar VAR_TEMP_3, 1 setvar VAR_TEMP_8, 3 - playse 21 + playse SE_PIN applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0833 waitmovement 0 applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0835 @@ -226,7 +226,7 @@ Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27 Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B setvar VAR_TEMP_4, 1 setvar VAR_TEMP_8, 4 - playse 21 + playse SE_PIN applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0833 waitmovement 0 applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0835 @@ -248,7 +248,7 @@ Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B Route110_TrickHousePuzzle5_EventScript_162B0F:: @ 8162B0F setvar VAR_TEMP_5, 1 setvar VAR_TEMP_8, 5 - playse 21 + playse SE_PIN applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0833 waitmovement 0 applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0835 @@ -389,7 +389,7 @@ Route110_TrickHousePuzzle5_EventScript_162D6D:: @ 8162D6D Route110_TrickHousePuzzle5_EventScript_162D90:: @ 8162D90 waitse - playse 32 + playse SE_HAZURE msgbox Route110_TrickHousePuzzle5_Text_19D5CF, 4 applymovement 1, Route110_TrickHousePuzzle5_Movement_16309F applymovement 2, Route110_TrickHousePuzzle5_Movement_16309F @@ -408,7 +408,7 @@ Route110_TrickHousePuzzle5_EventScript_162D90:: @ 8162D90 Route110_TrickHousePuzzle5_EventScript_162DDF:: @ 8162DDF waitse - playse 31 + playse SE_SEIKAI goto Route110_TrickHousePuzzle5_EventScript_162DE9 end diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc index 66aa8b5e7..d1de7682f 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc @@ -126,7 +126,7 @@ Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 call_if 1, Route110_TrickHousePuzzle7_EventScript_1631F4 special DrawWholeMapView - playse 36 + playse SE_TK_KASYA checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633A4 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 @@ -141,7 +141,7 @@ Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 call_if 1, Route110_TrickHousePuzzle7_EventScript_163207 special DrawWholeMapView - playse 36 + playse SE_TK_KASYA checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633AE checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 @@ -156,7 +156,7 @@ Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 call_if 1, Route110_TrickHousePuzzle7_EventScript_16321A special DrawWholeMapView - playse 36 + playse SE_TK_KASYA checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633B8 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 @@ -171,7 +171,7 @@ Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 call_if 1, Route110_TrickHousePuzzle7_EventScript_16322D special DrawWholeMapView - playse 36 + playse SE_TK_KASYA checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633C2 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 @@ -186,7 +186,7 @@ Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375 checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 call_if 1, Route110_TrickHousePuzzle7_EventScript_163240 special DrawWholeMapView - playse 36 + playse SE_TK_KASYA checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633CC checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index 5336bd510..d0f4e6394 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -222,14 +222,14 @@ Route111_Movement_1501BA:: @ 81501BA Route111_EventScript_1501BC:: @ 81501BC setweather 2 - fadenewbgm 360 + fadenewbgm BGM_DOORO_X1 doweather setvar VAR_TEMP_3, 0 end Route111_EventScript_1501C9:: @ 81501C9 setweather 8 - fadenewbgm 409 + fadenewbgm BGM_ASHROAD doweather end diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc index bc32449cd..6c1e8559f 100644 --- a/data/scripts/maps/Route113_GlassWorkshop.inc +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -197,7 +197,7 @@ Route113_GlassWorkshop_EventScript_163851:: @ 8163851 msgbox Route113_GlassWorkshop_Text_19E827, 4 closemessage fadescreen 1 - playse 5 + playse SE_SELECT delay 30 fadescreen 0 msgbox Route113_GlassWorkshop_Text_19E9D7, 4 diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc index 63decb5d6..0ed9e9b01 100644 --- a/data/scripts/maps/Route118.inc +++ b/data/scripts/maps/Route118.inc @@ -77,7 +77,7 @@ Route118_EventScript_150FE4:: @ 8150FE4 end Route118_EventScript_151004:: @ 8151004 - playse 10 + playse SE_DANSA applymovement 19, Route118_Movement_15106D waitmovement 0 delay 30 diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc index e82d7b313..8d9f88474 100644 --- a/data/scripts/maps/Route119.inc +++ b/data/scripts/maps/Route119.inc @@ -80,11 +80,11 @@ Route119_EventScript_1511DB:: @ 81511DB end Route119_EventScript_151254:: @ 8151254 - playbgm 415, 1 + playbgm BGM_GIRL_SUP, TRUE return Route119_EventScript_151259:: @ 8151259 - playbgm 421, 1 + playbgm BGM_BOY_SUP, TRUE return Route119_EventScript_15125E:: @ 815125E diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc index 50f453465..b36500345 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_2F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc @@ -58,7 +58,7 @@ Route119_WeatherInstitute_2F_EventScript_163D7A:: @ 8163D7A getpartysize compare RESULT, 6 goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DB4 - playfanfare 370 + playfanfare BGM_FANFA4 message Route119_WeatherInstitute_2F_Text_19F267 waitfanfare waitmessage diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc index 6235e3b1c..67fa830e9 100644 --- a/data/scripts/maps/Route121_SafariZoneEntrance.inc +++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc @@ -71,7 +71,7 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3 updatemoneybox 0, 0 nop msgbox Route121_SafariZoneEntrance_Text_1C38F4, 4 - playfanfare 370 + playfanfare BGM_FANFA4 message Route121_SafariZoneEntrance_Text_1C3910 waitfanfare waitmessage diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc index 47d216d9f..c6bdbbdb7 100644 --- a/data/scripts/maps/RustboroCity.inc +++ b/data/scripts/maps/RustboroCity.inc @@ -381,7 +381,7 @@ RustboroCity_EventScript_14C650:: @ 814C650 RustboroCity_EventScript_14C691:: @ 814C691 applymovement 9, RustboroCity_Movement_1A0841 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -393,7 +393,7 @@ RustboroCity_EventScript_14C691:: @ 814C691 RustboroCity_EventScript_14C6BD:: @ 814C6BD applymovement 9, RustboroCity_Movement_1A083F waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -405,7 +405,7 @@ RustboroCity_EventScript_14C6BD:: @ 814C6BD RustboroCity_EventScript_14C6E9:: @ 814C6E9 applymovement 9, RustboroCity_Movement_1A0845 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -417,7 +417,7 @@ RustboroCity_EventScript_14C6E9:: @ 814C6E9 RustboroCity_EventScript_14C715:: @ 814C715 applymovement 9, RustboroCity_Movement_1A0845 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -489,7 +489,7 @@ RustboroCity_EventScript_14C7F5:: @ 814C7F5 RustboroCity_EventScript_14C7FE:: @ 814C7FE applymovement 9, RustboroCity_Movement_1A0841 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -501,7 +501,7 @@ RustboroCity_EventScript_14C7FE:: @ 814C7FE RustboroCity_EventScript_14C82A:: @ 814C82A applymovement 9, RustboroCity_Movement_1A0843 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -513,7 +513,7 @@ RustboroCity_EventScript_14C82A:: @ 814C82A RustboroCity_EventScript_14C856:: @ 814C856 applymovement 9, RustboroCity_Movement_1A0845 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -525,7 +525,7 @@ RustboroCity_EventScript_14C856:: @ 814C856 RustboroCity_EventScript_14C882:: @ 814C882 applymovement 9, RustboroCity_Movement_1A0845 waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 @@ -539,7 +539,7 @@ RustboroCity_EventScript_14C882:: @ 814C882 RustboroCity_EventScript_14C8B8:: @ 814C8B8 applymovement 9, RustboroCity_Movement_1A083F waitmovement 0 - playse 21 + playse SE_PIN applymovement 9, RustboroCity_Movement_1A0833 waitmovement 0 applymovement 9, RustboroCity_Movement_1A0835 diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc index c997935cc..9bbbaacfa 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc @@ -80,7 +80,7 @@ RustboroCity_DevonCorp_2F_EventScript_157564:: @ 8157564 RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6 closemessage - playse 21 + playse SE_PIN applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0833 waitmovement 0 applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835 @@ -98,7 +98,7 @@ RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6 RustboroCity_DevonCorp_2F_EventScript_1575EE:: @ 81575EE closemessage - playse 21 + playse SE_PIN applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0833 waitmovement 0 applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835 @@ -140,7 +140,7 @@ RustboroCity_DevonCorp_2F_EventScript_157661:: @ 8157661 copyvar VAR_SPECIAL_4, RESULT setvar VAR_FOSSIL_RESURRECTION_STATE, 0 setflag FLAG_RECEIVED_FOSSIL_MON - playfanfare 370 + playfanfare BGM_FANFA4 message RustboroCity_DevonCorp_2F_Text_18319E waitfanfare waitmessage @@ -160,7 +160,7 @@ RustboroCity_DevonCorp_2F_EventScript_1576B4:: @ 81576B4 copyvar VAR_SPECIAL_4, RESULT setvar VAR_FOSSIL_RESURRECTION_STATE, 0 setflag FLAG_RECEIVED_FOSSIL_MON - playfanfare 370 + playfanfare BGM_FANFA4 message RustboroCity_DevonCorp_2F_Text_18319E waitfanfare waitmessage diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc index af5d5d6ee..ff854d7ef 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc @@ -37,7 +37,7 @@ RustboroCity_DevonCorp_3F_EventScript_157752:: @ 8157752 waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_183903, 4 closemessage - playbgm 420, 0 + playbgm BGM_TSURETEK, FALSE applymovement 2, RustboroCity_DevonCorp_3F_Movement_157803 applymovement 255, RustboroCity_DevonCorp_3F_Movement_157827 waitmovement 0 @@ -50,7 +50,7 @@ RustboroCity_DevonCorp_3F_EventScript_157752:: @ 8157752 msgbox RustboroCity_DevonCorp_3F_Text_18320B, 4 giveitem_std ITEM_LETTER msgbox RustboroCity_DevonCorp_3F_Text_18337E, 4 - playfanfare 370 + playfanfare BGM_FANFA4 message RustboroCity_DevonCorp_3F_Text_183422 waitfanfare waitmessage diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc index d50e7cec0..050cf28c2 100644 --- a/data/scripts/maps/RusturfTunnel.inc +++ b/data/scripts/maps/RusturfTunnel.inc @@ -148,7 +148,7 @@ RusturfTunnel_EventScript_15C91B:: @ 815C91B return RusturfTunnel_EventScript_15C92D:: @ 815C92D - playse 21 + playse SE_PIN applymovement 1, RusturfTunnel_Movement_1A0833 waitmovement 0 applymovement 1, RusturfTunnel_Movement_1A0835 @@ -309,7 +309,7 @@ RusturfTunnel_EventScript_15C9D7:: @ 815C9D7 RusturfTunnel_EventScript_15C9EA:: @ 815C9EA lock faceplayer - playbgm BGM_EVIL_TEAM, 0 + playbgm BGM_EVIL_TEAM, FALSE msgbox RusturfTunnel_Text_19419B, 4 trainerbattle 3, OPPONENT_RUSTURF_TUNNEL_GRUNT, 0, RusturfTunnel_Text_194243 msgbox RusturfTunnel_Text_194274, 4 diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc index fc018a7b9..dd5aee95c 100644 --- a/data/scripts/maps/SSTidalCorridor.inc +++ b/data/scripts/maps/SSTidalCorridor.inc @@ -13,7 +13,7 @@ SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC special SetSSTidalFlag setvar VAR_PORTHOLE_STATE, 2 lockall - playse 73 + playse SE_PINPON msgbox SSTidalCorridor_Text_199007, 4 releaseall end @@ -21,7 +21,7 @@ SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2 setvar VAR_PORTHOLE_STATE, 6 lockall - playse 73 + playse SE_PINPON msgbox SSTidalCorridor_Text_199088, 4 releaseall end @@ -29,14 +29,14 @@ SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2 SSTidalRooms_EventScript_15FCE5:: @ 815FCE5 special SetSSTidalFlag setvar VAR_PORTHOLE_STATE, 7 - playse 73 + playse SE_PINPON msgbox SSTidalRooms_Text_199007, 4 return SSTidalRooms_EventScript_15FCF9:: @ 815FCF9 special ResetSSTidalFlag setvar VAR_PORTHOLE_STATE, 4 - playse 73 + playse SE_PINPON msgbox SSTidalRooms_Text_1990F8, 4 return @@ -51,7 +51,7 @@ SSTidalCorridor_EventScript_15FD24:: @ 815FD24 special ResetSSTidalFlag setvar VAR_PORTHOLE_STATE, 3 lockall - playse 73 + playse SE_PINPON msgbox SSTidalCorridor_Text_199088, 4 releaseall end @@ -60,7 +60,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A special ResetSSTidalFlag setvar VAR_PORTHOLE_STATE, 8 lockall - playse 73 + playse SE_PINPON msgbox SSTidalCorridor_Text_1990B4, 4 releaseall end @@ -68,7 +68,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A SSTidalRooms_EventScript_15FD50:: @ 815FD50 special ResetSSTidalFlag setvar VAR_PORTHOLE_STATE, 8 - playse 73 + playse SE_PINPON msgbox SSTidalRooms_Text_1990B4, 4 return diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc index 574c7412e..54c99b371 100644 --- a/data/scripts/maps/SeafloorCavern_Room9.inc +++ b/data/scripts/maps/SeafloorCavern_Room9.inc @@ -78,7 +78,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else setvar RESULT, 0 .endif - playse 209 + playse SE_W197 setfieldeffectargument 0, 16 setfieldeffectargument 1, 42 setfieldeffectargument 2, 0 @@ -89,8 +89,8 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else setvar RESULT, 1 .endif - playfanfare 388 - playse 107 + playfanfare BGM_ME_TAMA + playse SE_TAMA special sub_80818A4 applymovement VAR_SPECIAL_4, SeafloorCavern_Room9_Movement_1A0841 applymovement 255, SeafloorCavern_Room9_Movement_1A0841 @@ -126,7 +126,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else msgbox SeafloorCavern_Room9_Text_1B4A89, 4 .endif - playse 2 + playse SE_PC_LOGON applymovement 255, SeafloorCavern_Room9_Movement_1A083F waitmovement 0 .ifdef SAPPHIRE @@ -143,7 +143,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA msgbox SeafloorCavern_Room9_Text_1B4B11, 4 .endif closemessage - playse 3 + playse SE_PC_OFF delay 20 applymovement VAR_SPECIAL_4, SeafloorCavern_Room9_Movement_1A0845 waitmovement 0 @@ -167,7 +167,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else msgbox SeafloorCavern_Room9_Text_1B4D02, 4 .endif - playse 21 + playse SE_PIN applymovement VAR_SPECIAL_4, SeafloorCavern_Room9_Movement_1A0833 waitmovement 0 applymovement VAR_SPECIAL_4, SeafloorCavern_Room9_Movement_1A0835 diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc index cd778202c..d788be9b3 100644 --- a/data/scripts/maps/SealedChamber_InnerRoom.inc +++ b/data/scripts/maps/SealedChamber_InnerRoom.inc @@ -12,21 +12,21 @@ SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8 compare RESULT, 0 goto_if_eq SealedChamber_InnerRoom_EventScript_15F247 fadeoutbgm 0 - playse 49 + playse SE_TRACK_MOVE special DoSealedChamberShakingEffect1 waitstate delay 40 special DoSealedChamberShakingEffect2 waitstate - playse 8 + playse SE_DOOR delay 40 special DoSealedChamberShakingEffect2 waitstate - playse 8 + playse SE_DOOR delay 40 special DoSealedChamberShakingEffect2 waitstate - playse 8 + playse SE_DOOR delay 40 msgbox SealedChamber_InnerRoom_Text_1A138B, 4 closemessage diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc index 4079763a3..d39f788d8 100644 --- a/data/scripts/maps/SlateportCity.inc +++ b/data/scripts/maps/SlateportCity.inc @@ -73,7 +73,7 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0 compare RESULT, 0 call_if 1, SlateportCity_EventScript_14BB2B msgbox SlateportCity_Text_164691, 4 - playfanfare 370 + playfanfare BGM_FANFA4 message SlateportCity_Text_1646DD waitfanfare waitmessage @@ -508,7 +508,7 @@ SlateportCity_EventScript_14BEBC:: @ 814BEBC applymovement 11, SlateportCity_Movement_1A0841 waitmovement 0 msgbox SlateportCity_Text_1655E7, 4 - playbgm BGM_EVIL_TEAM, 0 + playbgm BGM_EVIL_TEAM, FALSE msgbox SlateportCity_Text_1656BC, 4 applymovement 6, SlateportCity_Movement_1A083F applymovement 1, SlateportCity_Movement_1A083F @@ -519,7 +519,7 @@ SlateportCity_EventScript_14BEBC:: @ 814BEBC applymovement 11, SlateportCity_Movement_1A0845 waitmovement 0 msgbox SlateportCity_Text_16578F, 4 - playse 21 + playse SE_PIN applymovement 11, SlateportCity_Movement_1A0833 waitmovement 0 applymovement 11, SlateportCity_Movement_1A0835 diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc index 2fd62e9af..59c5b13fc 100644 --- a/data/scripts/maps/SlateportCity_ContestLobby.inc +++ b/data/scripts/maps/SlateportCity_ContestLobby.inc @@ -22,13 +22,13 @@ SlateportCity_ContestLobby_EventScript_155448:: @ 8155448 lockall applymovement 1, SlateportCity_ContestLobby_Movement_1554CC waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 545, 1 setmetatile 4, 3, 609, 1 special DrawWholeMapView applymovement 1, SlateportCity_ContestLobby_Movement_1554CF waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 721, 1 setmetatile 4, 3, 729, 1 special DrawWholeMapView diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc index abbe3f78f..ad349932a 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc @@ -158,7 +158,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155C3A:: @ 8155C3A lock faceplayer delay 8 - playse 21 + playse SE_PIN applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_1A0833 waitmovement 0 applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_1A0835 @@ -180,7 +180,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155C98:: @ 8155C98 applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_155CD3 waitmovement 0 setflag FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM - playse 9 + playse SE_KAIDAN removeobject 13 release end @@ -189,7 +189,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155CAD:: @ 8155CAD applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_155CCC waitmovement 0 setflag FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM - playse 9 + playse SE_KAIDAN removeobject 13 release end diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc index 007e42f90..5dae0bc6b 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc @@ -11,7 +11,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6 faceplayer msgbox SlateportCity_OceanicMuseum_2F_Text_17ECFD, 4 closemessage - playbgm BGM_EVIL_TEAM, 1 + playbgm BGM_EVIL_TEAM, TRUE addobject 3 applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB4 waitmovement 0 @@ -84,7 +84,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6 closemessage applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_155E98 waitmovement 0 - playse 9 + playse SE_KAIDAN removeobject 1 setflag FLAG_HIDE_EVIL_TEAM_ROUTE110 setflag FLAG_DELIVERED_DEVON_GOODS diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc index 6e7d2614b..f7cc67236 100644 --- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc +++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc @@ -206,7 +206,7 @@ SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15 end SlateportCity_PokemonFanClub_EventScript_155A3A:: @ 8155A3A - playse 21 + playse SE_PIN applymovement LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0833 waitmovement 0 applymovement LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0835 diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc index e29700981..f2ccc9484 100644 --- a/data/scripts/maps/SootopolisCity.inc +++ b/data/scripts/maps/SootopolisCity.inc @@ -216,7 +216,7 @@ SootopolisCity_EventScript_14D308:: @ 814D308 applymovement 10, SootopolisCity_Movement_1A083F applymovement 255, SootopolisCity_Movement_1A0843 waitmovement 0 - playse 21 + playse SE_PIN applymovement 10, SootopolisCity_Movement_1A0833 waitmovement 0 applymovement 10, SootopolisCity_Movement_1A0835 @@ -237,7 +237,7 @@ SootopolisCity_EventScript_14D308:: @ 814D308 .else msgbox SootopolisCity_Text_169E82, 4 .endif - playse 21 + playse SE_PIN applymovement 5, SootopolisCity_Movement_1A0833 waitmovement 0 applymovement 5, SootopolisCity_Movement_1A0835 diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc index 38514b03b..35fa306e6 100644 --- a/data/scripts/maps/SootopolisCity_Gym_1F.inc +++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc @@ -49,7 +49,7 @@ SootopolisCity_Gym_1F_MapScript2_15AF86:: @ 815AF86 SootopolisCity_Gym_1F_EventScript_15AFA8:: @ 815AFA8 addvar VAR_ICE_STEP_COUNT, 1 delay 40 - playse 40 + playse SE_RU_GASHIN call SootopolisCity_Gym_1F_EventScript_15AF2E special DrawWholeMapView end @@ -57,7 +57,7 @@ SootopolisCity_Gym_1F_EventScript_15AFA8:: @ 815AFA8 SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC addvar VAR_ICE_STEP_COUNT, 1 delay 40 - playse 40 + playse SE_RU_GASHIN call SootopolisCity_Gym_1F_EventScript_15AF2E special DrawWholeMapView end @@ -65,7 +65,7 @@ SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0 addvar VAR_ICE_STEP_COUNT, 1 delay 40 - playse 40 + playse SE_RU_GASHIN call SootopolisCity_Gym_1F_EventScript_15AF2E special DrawWholeMapView end @@ -75,7 +75,7 @@ SootopolisCity_Gym_1F_EventScript_15AFE4:: @ 815AFE4 delay 20 applymovement 255, SootopolisCity_Gym_1F_Movement_15AFFD waitmovement 0 - playse 43 + playse SE_RU_HYUU delay 60 warphole MAP_SOOTOPOLIS_CITY_GYM_B1F waitstate diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc index e2afd07dc..ffd184ddf 100644 --- a/data/scripts/maps/UnknownMap_25_34.inc +++ b/data/scripts/maps/UnknownMap_25_34.inc @@ -26,23 +26,23 @@ LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5 return LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0 - savebgm 393 + savebgm BGM_TEST1 return LinkContestRoom1_EventScript_15F5E4:: @ 815F5E4 - savebgm 394 + savebgm BGM_TEST2 return LinkContestRoom1_EventScript_15F5E8:: @ 815F5E8 - savebgm 395 + savebgm BGM_TEST3 return LinkContestRoom1_EventScript_15F5EC:: @ 815F5EC - savebgm 396 + savebgm BGM_TEST4 return LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0 - savebgm 440 + savebgm BGM_CONTEST0 return LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4 diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc index 016b2e7ba..37811dbc1 100644 --- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc +++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc @@ -22,13 +22,13 @@ VerdanturfTown_ContestLobby_EventScript_153DA1:: @ 8153DA1 lockall applymovement 1, VerdanturfTown_ContestLobby_Movement_153E25 waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 545, 1 setmetatile 4, 3, 609, 1 special DrawWholeMapView applymovement 1, VerdanturfTown_ContestLobby_Movement_153E28 waitmovement 0 - playse 71 + playse SE_HASHI setmetatile 4, 2, 721, 1 setmetatile 4, 3, 729, 1 special DrawWholeMapView diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index d93ff7660..b1ead4060 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -73,7 +73,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31 compare RESULT, 1 call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61 - playse 9 + playse SE_KAIDAN removeobject VAR_SPECIAL_8 releaseall end @@ -160,7 +160,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF:: @ 81B6ABF call LittlerootTown_BrendansHouse_1F_EventScript_1B6B9D applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CCC waitmovement 0 - playbgm 453, 0 + playbgm BGM_INTER_V, FALSE msgbox LittlerootTown_BrendansHouse_1F_Text_1725C9, 4 closemessage applymovement VAR_SPECIAL_5, LittlerootTown_BrendansHouse_1F_Movement_1B6BDB @@ -185,7 +185,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6B2E:: @ 81B6B2E call LittlerootTown_MaysHouse_1F_EventScript_1B6B9D applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1B6CD4 waitmovement 0 - playbgm 453, 0 + playbgm BGM_INTER_V, FALSE msgbox LittlerootTown_MaysHouse_1F_Text_1725C9, 4 closemessage applymovement VAR_SPECIAL_5, LittlerootTown_MaysHouse_1F_Movement_1B6BDE @@ -206,7 +206,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6B2E:: @ 81B6B2E LittlerootTown_BrendansHouse_1F_EventScript_1B6B9D:: @ 81B6B9D LittlerootTown_MaysHouse_1F_EventScript_1B6B9D:: @ 81B6B9D - playse 21 + playse SE_PIN applymovement VAR_SPECIAL_5, LittlerootTown_BrendansHouse_1F_Movement_1A0833 waitmovement 0 applymovement VAR_SPECIAL_5, LittlerootTown_BrendansHouse_1F_Movement_1A0835 @@ -372,7 +372,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28 applymovement VAR_SPECIAL_9, LittlerootTown_BrendansHouse_1F_Movement_1A0839 waitmovement 0 - playse 21 + playse SE_PIN applymovement VAR_SPECIAL_9, LittlerootTown_BrendansHouse_1F_Movement_1A0833 waitmovement 0 applymovement VAR_SPECIAL_9, LittlerootTown_BrendansHouse_1F_Movement_1A0835 @@ -396,7 +396,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9 compare VAR_SPECIAL_8, 1 call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B - playse 8 + playse SE_DOOR removeobject VAR_SPECIAL_9 setflag FLAG_RECEIVED_SS_TICKET setvar VAR_LITTLEROOT_HOUSES_STATE, 4 diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 5dba65b8a..6b1e76a1b 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -24,7 +24,7 @@ EventScript_1C3443: gUnknown_081C3448:: @ 81C3448 lockall - playse 73 + playse SE_PINPON message UnknownString_81C34E4 waitmessage waitbuttonpress @@ -33,7 +33,7 @@ gUnknown_081C3448:: @ 81C3448 gUnknown_081C3459:: @ 81C3459 lockall - playse 73 + playse SE_PINPON message UnknownString_81C3514 waitmessage waitbuttonpress -- cgit v1.2.3 From 88c42ade4bfb4a285444c327663e72c7f438adea Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 4 Jan 2018 14:52:51 -0800 Subject: Use weather constants in scripts (and giveegg) --- data-de/event_scripts.s | 5 +++-- data/event_scripts.s | 5 +++-- data/scripts/maps/CaveOfOrigin_B4F.inc | 2 +- data/scripts/maps/JaggedPass.inc | 2 +- data/scripts/maps/LavaridgeTown.inc | 2 +- data/scripts/maps/MtPyre_Exterior.inc | 6 +++--- data/scripts/maps/Route111.inc | 6 +++--- data/scripts/maps/Route113.inc | 2 +- data/scripts/maps/Route120.inc | 6 +++--- data/scripts/maps/SeafloorCavern_Room9.inc | 2 +- 10 files changed, 20 insertions(+), 18 deletions(-) diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s index ab511dcd6..b8cc5d8f6 100644 --- a/data-de/event_scripts.s +++ b/data-de/event_scripts.s @@ -8,6 +8,7 @@ #include "constants/opponents.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/weather.h" #include "constants/vars.h" .include "asm/macros.inc" .include "asm/macros/event.inc" @@ -2096,9 +2097,9 @@ Route127_EventScript_1A02C1:: @ 81A02C1 Route128_EventScript_1A02C1:: @ 81A02C1 SootopolisCity_EventScript_1A02C1:: @ 81A02C1 .ifdef SAPPHIRE - setweather 13 + setweather WEATHER_RAIN_HEAVY .else - setweather 12 + setweather WEATHER_DROUGHT .endif return diff --git a/data/event_scripts.s b/data/event_scripts.s index b751a2e63..8b0011893 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -8,6 +8,7 @@ #include "constants/opponents.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/weather.h" #include "constants/vars.h" .include "asm/macros.inc" .include "asm/macros/event.inc" @@ -2090,9 +2091,9 @@ Route127_EventScript_1A02C1:: @ 81A02C1 Route128_EventScript_1A02C1:: @ 81A02C1 SootopolisCity_EventScript_1A02C1:: @ 81A02C1 .ifdef SAPPHIRE - setweather 13 + setweather WEATHER_RAIN_HEAVY .else - setweather 12 + setweather WEATHER_DROUGHT .endif return diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc index 904759cf1..315dda886 100644 --- a/data/scripts/maps/CaveOfOrigin_B4F.inc +++ b/data/scripts/maps/CaveOfOrigin_B4F.inc @@ -33,7 +33,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 msgbox CaveOfOrigin_B4F_Text_1B4FE4, 4 .endif closemessage - setweather 0 + setweather WEATHER_NONE doweather special WaitWeather waitstate diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc index bf1f0233d..efe5d6a6e 100644 --- a/data/scripts/maps/JaggedPass.inc +++ b/data/scripts/maps/JaggedPass.inc @@ -13,7 +13,7 @@ JaggedPass_MapScript1_15D274:: @ 815D274 end JaggedPass_EventScript_15D280:: @ 815D280 - setweather 7 + setweather WEATHER_ASH doweather return diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc index e81c3b69f..f1a6deed0 100644 --- a/data/scripts/maps/LavaridgeTown.inc +++ b/data/scripts/maps/LavaridgeTown.inc @@ -286,7 +286,7 @@ LavaridgeTown_EventScript_14E75A:: @ 814E75A message LavaridgeTown_Text_16C2EA waitfanfare waitmessage - giveegg 360 + giveegg SPECIES_WYNAUT release end diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc index 76f1736c2..ec5864df5 100644 --- a/data/scripts/maps/MtPyre_Exterior.inc +++ b/data/scripts/maps/MtPyre_Exterior.inc @@ -13,15 +13,15 @@ MtPyre_Exterior_EventScript_15D492:: @ 815D492 return MtPyre_Exterior_EventScript_15D4A3:: @ 815D4A3 - setweather 6 + setweather WEATHER_FOG_1 return MtPyre_Exterior_EventScript_15D4A7:: @ 815D4A7 - setweather 6 + setweather WEATHER_FOG_1 doweather end MtPyre_Exterior_EventScript_15D4AC:: @ 815D4AC - setweather 2 + setweather WEATHER_SUNNY doweather end diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index d0f4e6394..c3d807f66 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -34,7 +34,7 @@ Route111_EventScript_14FFCD:: @ 814FFCD goto_if 0, Route111_EventScript_15000C Route111_EventScript_150009:: @ 8150009 - setweather 8 + setweather WEATHER_SANDSTORM Route111_EventScript_15000C:: @ 815000C return @@ -221,14 +221,14 @@ Route111_Movement_1501BA:: @ 81501BA step_end Route111_EventScript_1501BC:: @ 81501BC - setweather 2 + setweather WEATHER_SUNNY fadenewbgm BGM_DOORO_X1 doweather setvar VAR_TEMP_3, 0 end Route111_EventScript_1501C9:: @ 81501C9 - setweather 8 + setweather WEATHER_SANDSTORM fadenewbgm BGM_ASHROAD doweather end diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc index 1b589fcde..a1593ba1e 100644 --- a/data/scripts/maps/Route113.inc +++ b/data/scripts/maps/Route113.inc @@ -18,7 +18,7 @@ Route113_EventScript_1505E5:: @ 81505E5 goto_if 0, Route113_EventScript_150604 compare VAR_TEMP_0, 84 goto_if 2, Route113_EventScript_150604 - setweather 7 + setweather WEATHER_ASH return Route113_EventScript_150604:: @ 8150604 diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc index d2866cceb..3858c0e4f 100644 --- a/data/scripts/maps/Route120.inc +++ b/data/scripts/maps/Route120.inc @@ -90,11 +90,11 @@ Route120_EventScript_1516EA:: @ 81516EA return Route120_EventScript_151711:: @ 8151711 - setweather 1 + setweather WEATHER_CLOUDS return Route120_EventScript_151715:: @ 8151715 - setweather 2 + setweather WEATHER_SUNNY return Route120_EventScript_151719:: @ 8151719 @@ -106,7 +106,7 @@ Route120_EventScript_151719:: @ 8151719 end Route120_EventScript_151735:: @ 8151735 - setweather 3 + setweather WEATHER_RAIN_LIGHT return Route120_EventScript_151739:: @ 8151739 diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc index 54c99b371..afc076a65 100644 --- a/data/scripts/maps/SeafloorCavern_Room9.inc +++ b/data/scripts/maps/SeafloorCavern_Room9.inc @@ -62,7 +62,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else msgbox SeafloorCavern_Room9_Text_1B49C1, 4 .endif - setweather 0 + setweather WEATHER_NONE doweather special sub_8081924 waitstate -- cgit v1.2.3 From 25bf57596507492210c36cffb1dfb6b9bf626df7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 18:03:10 -0500 Subject: propagate SLOT_MACHINE_MATCHED enums --- include/slot_machine.h | 2 +- src/field/slot_machine.c | 56 +++++++++++++++++++++++++++--------------------- 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/include/slot_machine.h b/include/slot_machine.h index d932edff0..f886d9239 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -27,7 +27,7 @@ enum { struct SlotMachineEwramStruct { /*0x00*/ u8 state; /*0x01*/ u8 unk01; - /*0x02*/ u8 unk02; + /*0x02*/ u8 pikaPower; /*0x03*/ u8 unk03; /*0x04*/ u8 unk04; /*0x05*/ u8 unk05; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index b1273ce7c..bfad257d4 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -20,7 +20,7 @@ struct UnkStruct1 { /*0x00*/ u8 unk00; /*0x01*/ u8 unk01; - /*0x02*/ s16 unk02; + /*0x02*/ s16 pikaPower; }; #if ENGLISH @@ -372,7 +372,7 @@ static void SlotMachineSetup_0_1(void) sub_81019EC(); eSlotMachine->state = 0; - eSlotMachine->unk02 = 0; + eSlotMachine->pikaPower = 0; eSlotMachine->unk03 = Random() & 1; eSlotMachine->unk04 = 0; eSlotMachine->matchedSymbols = 0; @@ -481,7 +481,7 @@ static void sub_8101D24(u8 taskId) static bool8 sub_8101D5C(struct Task *task) { BeginNormalPaletteFade(-1, 0, 16, 0, 0); - sub_810423C(eSlotMachine->unk02); + sub_810423C(eSlotMachine->pikaPower); eSlotMachine->state++; return FALSE; } @@ -706,12 +706,12 @@ static bool8 sub_81020C8(struct Task *task) { eSlotMachine->unk10 = 0; } - if (eSlotMachine->matchedSymbols & 0x180) + if (eSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) { PlayFanfare(BGM_ME_B_BIG); sub_8104CAC(6); } - else if (eSlotMachine->matchedSymbols & 0x40) + else if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_777_MIXED)) { PlayFanfare(BGM_ME_B_BIG); sub_8104CAC(5); @@ -721,24 +721,24 @@ static bool8 sub_81020C8(struct Task *task) PlayFanfare(BGM_ME_B_SMALL); sub_8104CAC(2); } - if (eSlotMachine->matchedSymbols & 0x1c0) + if (eSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_MIXED) | (1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) { eSlotMachine->unk04 &= 0x3f; - if (eSlotMachine->matchedSymbols & 0x180) + if (eSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) { eSlotMachine->unk0A = 0; eSlotMachine->unk0B = 0; eSlotMachine->unk03 = 0; - if (eSlotMachine->matchedSymbols & 0x100) + if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_777_BLUE)) { eSlotMachine->unk03 = 1; } } } - if (eSlotMachine->matchedSymbols & 0x20 && eSlotMachine->unk02 < 16) + if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_POWER) && eSlotMachine->pikaPower < 16) { - eSlotMachine->unk02++; - sub_8104064(eSlotMachine->unk02); + eSlotMachine->pikaPower++; + sub_8104064(eSlotMachine->pikaPower); } } else @@ -767,20 +767,20 @@ static bool8 sub_81021FC(struct Task *task) if (sub_8103FA0()) { eSlotMachine->state = 19; - if (eSlotMachine->matchedSymbols & 0x180) + if (eSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_RED) | (1 << SLOT_MACHINE_MATCHED_777_BLUE))) { IncrementGameStat(GAME_STAT_SLOT_JACKPOTS); } - if (eSlotMachine->matchedSymbols & 0x04) + if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) { eSlotMachine->unk18 = 0; eSlotMachine->state = 9; } - if (eSlotMachine->matchedSymbols & 0x20) + if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_POWER)) { eSlotMachine->state = 17; } - if (eSlotMachine->unk0A && eSlotMachine->matchedSymbols & 0x04) + if (eSlotMachine->unk0A && eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) { sub_8104CAC(4); eSlotMachine->state = 18; @@ -794,7 +794,7 @@ static bool8 sub_8102264(struct Task *task) if (!sub_81040C8()) { eSlotMachine->state = 19; - if (eSlotMachine->matchedSymbols & 0x04) + if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) { eSlotMachine->state = 9; if (eSlotMachine->unk0A) @@ -812,7 +812,7 @@ static bool8 sub_81022A0(struct Task *task) if (sub_8104E18()) { eSlotMachine->state = 19; - if (eSlotMachine->matchedSymbols & 0x04) + if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) { eSlotMachine->state = 9; } @@ -1038,9 +1038,9 @@ static u8 sub_810264C(u8 a0) { if (eSlotMachine->unk03 == 0) { - return gUnknown_083ECD46[a0][eSlotMachine->unk02]; + return gUnknown_083ECD46[a0][eSlotMachine->pikaPower]; } - return gUnknown_083ECDAC[a0][eSlotMachine->unk02]; + return gUnknown_083ECDAC[a0][eSlotMachine->pikaPower]; } static void sub_8102680(void) @@ -2595,10 +2595,10 @@ static void sub_81046C0(struct Task *task) task->data[4] = 0xc0; StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 4); gSprites[eSlotMachine->unk3F].animCmdIndex = 0; - if (eSlotMachine->unk02) + if (eSlotMachine->pikaPower) { sub_8104098(); - eSlotMachine->unk02 = 0; + eSlotMachine->pikaPower = 0; } PlayFanfare(BGM_ME_B_SMALL); } @@ -2828,7 +2828,7 @@ static void sub_8104BFC(struct Task *task) BasicInitMenuWindow(&gWindowConfig_81E7128); sub_81064B8(); sub_8104CAC(task->data[1]); - sub_810423C(eSlotMachine->unk02); + sub_810423C(eSlotMachine->pikaPower); BeginNormalPaletteFade(-1, 0, 16, 0, 0); task->data[0]++; } @@ -2869,7 +2869,7 @@ static void sub_8104CAC(u8 arg0) { spriteId = sub_8105BB4( gUnknown_083ED048[arg0][i].unk00, gUnknown_083ED048[arg0][i].unk01, - gUnknown_083ED048[arg0][i].unk02 + gUnknown_083ED048[arg0][i].pikaPower ); task->data[4 + i] = spriteId; @@ -4143,7 +4143,15 @@ static const u8 sSym2Match[] = { }; static const u16 sSlotMatchFlags[] = { - 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100 + 1 << SLOT_MACHINE_MATCHED_1CHERRY, + 1 << SLOT_MACHINE_MATCHED_2CHERRY, + 1 << SLOT_MACHINE_MATCHED_REPLAY, + 1 << SLOT_MACHINE_MATCHED_LOTAD, + 1 << SLOT_MACHINE_MATCHED_AZURILL, + 1 << SLOT_MACHINE_MATCHED_POWER, + 1 << SLOT_MACHINE_MATCHED_777_MIXED, + 1 << SLOT_MACHINE_MATCHED_777_RED, + 1 << SLOT_MACHINE_MATCHED_777_BLUE }; static const u16 sSlotPayouts[] = { -- cgit v1.2.3 From ed5f6107c4051c0a8056824ce0437862909b579d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 18:08:40 -0500 Subject: piKAPOWer --- src/field/slot_machine.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index bfad257d4..a524790b4 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -20,7 +20,7 @@ struct UnkStruct1 { /*0x00*/ u8 unk00; /*0x01*/ u8 unk01; - /*0x02*/ s16 pikaPower; + /*0x02*/ s16 unk02; }; #if ENGLISH @@ -139,7 +139,7 @@ static void sub_8103F70(void); static bool8 sub_8103FA0(void); static void sub_8103FE8(u8 taskId); static void sub_8104048(void); -static void sub_8104064(u8 unused); +static void sub_8104064(u8 pikaPower); static bool8 sub_81040C8(void); static void sub_81040E8(u8 taskId); static void nullsub_68(struct Task *task); @@ -147,7 +147,7 @@ static void sub_810411C(struct Task *task); static void sub_8104144(struct Task *task); static void sub_81041AC(struct Task *task); static void sub_810421C(struct Task *task); -static void sub_810423C(u8 a0); +static void sub_810423C(u8 pikaPower); static void sub_810430C(void); static bool8 sub_810432C(void); static void sub_810434C(u8 taskId); @@ -2262,7 +2262,7 @@ static void sub_8104048(void) eSlotMachine->unk3E = CreateTask(sub_81040E8, 8); } -static void sub_8104064(u8 unused) +static void sub_8104064(u8 pikaPower) { struct Task *task = gTasks + eSlotMachine->unk3E; sub_810421C(task); @@ -2362,13 +2362,13 @@ static void sub_810421C(struct Task *task) task->data[i] = 0; } -static void sub_810423C(u8 a0) +static void sub_810423C(u8 pikaPower) { s16 i; u8 r3; s16 r2 = 3; u16 *vaddr = (u16 *)BG_SCREEN_ADDR(29); - for (i = 0; i < a0; i++, r2++) + for (i = 0; i < pikaPower; i++, r2++) { r3 = 0; if (i == 0) @@ -2386,7 +2386,7 @@ static void sub_810423C(u8 a0) r3 = 2; vaddr[r2 + 0x40] = gUnknown_083ECBC4[r3][1]; } - gTasks[eSlotMachine->unk3E].data[1] = a0; + gTasks[eSlotMachine->unk3E].data[1] = pikaPower; } static void sub_810430C(void) @@ -2869,7 +2869,7 @@ static void sub_8104CAC(u8 arg0) { spriteId = sub_8105BB4( gUnknown_083ED048[arg0][i].unk00, gUnknown_083ED048[arg0][i].unk01, - gUnknown_083ED048[arg0][i].pikaPower + gUnknown_083ED048[arg0][i].unk02 ); task->data[4 + i] = spriteId; -- cgit v1.2.3 From c748287725a01561ba9f972b094d7b297cea2d8e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 4 Jan 2018 15:24:19 -0800 Subject: Use -1 instead of 65535 for compare macro --- asm/macros/event.inc | 4 ++-- data/scripts/maps/LilycoveCity_ContestLobby.inc | 2 +- data/scripts/mauville_man.inc | 4 ++-- data/scripts/pokeblocks.inc | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 5176beff3..3b40883dc 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -231,8 +231,8 @@ .macro compare arg1, arg2 .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) compare_var_to_var \arg1, \arg2 - .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF) - compare_var_to_value \arg1, \arg2 + .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= -0xFFFF && \arg2 <= 0xFFFF) + compare_var_to_value \arg1, (\arg2 & 0xFFFF) .else .error "Invalid arguments for 'compare'" .endif diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index 591587be8..bb13b95be 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -475,7 +475,7 @@ LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1 buffernumberstring 1, 32772 messageautoscroll LilycoveCity_ContestLobby_Text_188845 waitmessage - addvar VAR_SPECIAL_4, 65535 + addvar VAR_SPECIAL_4, -1 goto LilycoveCity_ContestLobby_EventScript_158DEE end diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index 58dacb2f3..0e1835ae4 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -141,7 +141,7 @@ do_trader_menu_get: waitstate compare VAR_SPECIAL_4, 0 goto_if_eq cancelled_get_menu - compare VAR_SPECIAL_4, 65535 + compare VAR_SPECIAL_4, -1 goto_if_eq rare_item_cant_trade_away msgbox gTextTrader_ItemOnceBelongedTo, MSGBOX_YESNO compare RESULT, NO @@ -178,7 +178,7 @@ do_trader_menu_give: waitstate compare VAR_SPECIAL_6, 0 goto_if_eq cancelled_give_menu - compare VAR_SPECIAL_6, 65535 + compare VAR_SPECIAL_6, -1 goto_if_eq decoration_is_in_use special ScrSpecial_IsDecorationFull compare RESULT, 1 diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index eb12ab148..2f5dd6f47 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -54,9 +54,9 @@ FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1 goto_if_eq FallarborTown_ContestLobby_EventScript_1B770E msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4 specialvar RESULT, GetFirstFreePokeblockSlot - compare RESULT, 65535 + compare RESULT, -1 goto_if 5, FallarborTown_ContestLobby_EventScript_1B76EF - compare RESULT, 65535 + compare RESULT, -1 goto_if_eq FallarborTown_ContestLobby_EventScript_1B7776 end @@ -215,9 +215,9 @@ VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B compare RESULT, 0 goto_if_eq FallarborTown_ContestLobby_EventScript_1B7942 specialvar RESULT, GetFirstFreePokeblockSlot - compare RESULT, 65535 + compare RESULT, -1 goto_if 5, FallarborTown_ContestLobby_EventScript_1B7878 - compare RESULT, 65535 + compare RESULT, -1 goto_if_eq FallarborTown_ContestLobby_EventScript_1B7938 end -- cgit v1.2.3 From cbf59a23017f7bcab82d345abf268a2f67a3bfea Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 18:58:41 -0500 Subject: Link libc from agbcc --- Makefile | 3 +- ld_script.txt | 4 +- src/libs/libc.c | 143 -------------------------------------------------------- 3 files changed, 5 insertions(+), 145 deletions(-) delete mode 100644 src/libs/libc.c diff --git a/Makefile b/Makefile index e7e2a7156..48adfd870 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,7 @@ LD := $(DEVKITARM)/bin/arm-none-eabi-ld OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy LIBGCC := tools/agbcc/lib/libgcc.a +LIBC := tools/agbcc/lib/libc.a SHA1 := sha1sum -c @@ -161,7 +162,7 @@ build/$1/ld_script.ld: ld_script.txt build/$1/sym_bss.ld build/$1/sym_common.ld cd build/$1 && sed -f ../../ld_script.sed ../../ld_script.txt | sed "s#tools/#../../tools/#g" | sed "s#sound/#../../sound/#g" >ld_script.ld poke$1.elf: build/$1/ld_script.ld $$($1_OBJS) - cd build/$1 && $$(LD) -T ld_script.ld -Map ../../poke$1.map -o ../../$$@ $$($1_OBJS_REL) ../../$$(LIBGCC) + cd build/$1 && $$(LD) -T ld_script.ld -Map ../../poke$1.map -o ../../$$@ $$($1_OBJS_REL) ../../$$(LIBGCC) ../../$$(LIBC) poke$1.gba: %.gba: %.elf $$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $$< $$@ diff --git a/ld_script.txt b/ld_script.txt index 6d35da842..aef34202a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -433,7 +433,9 @@ SECTIONS { tools/agbcc/lib/libgcc.a:fp-bit.o(.text); tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text); tools/agbcc/lib/libgcc.a:_negdi2.o(.text); - src/libs/libc.o(.text); + tools/agbcc/lib/libc.a:memcpy.o(.text); + tools/agbcc/lib/libc.a:memset.o(.text); + tools/agbcc/lib/libc.a:strcmp.o(.text); } =0 .rodata : diff --git a/src/libs/libc.c b/src/libs/libc.c deleted file mode 100644 index 920673e3e..000000000 --- a/src/libs/libc.c +++ /dev/null @@ -1,143 +0,0 @@ -#include "global.h" -#include - -#define LBLOCKSIZE (sizeof(long)) - -// Nonzero if (long)X contains a NULL byte. -#define CONTAINSNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) - -// Nonzero if X is not aligned on a "long" boundary. -#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) - -void *memcpy(void *dst0, const void *src0, size_t len0) -{ - char *dst = dst0; - const char *src = src0; - long *aligned_dst; - const long *aligned_src; - unsigned int len = len0; - - // If the size is small, or either src or dst is unaligned, - // then go to the byte copy loop. This should be rare. - if (len >= 16 && !(UNALIGNED(src) | UNALIGNED(dst))) - { - aligned_dst = (long *)dst; - aligned_src = (long *)src; - - // Copy 4X long words at a time if possible. - while (len >= 16) - { - *aligned_dst++ = *aligned_src++; - *aligned_dst++ = *aligned_src++; - *aligned_dst++ = *aligned_src++; - *aligned_dst++ = *aligned_src++; - len -= 16; - } - - // Copy one long word at a time if possible - while (len >= 4) - { - *aligned_dst++ = *aligned_src++; - len -= 4; - } - - dst = (char *)aligned_dst; - src = (char *)aligned_src; - } - - // Pick up any remaining bytes with a byte copier. - while (len--) - *dst++ = *src++; - - return dst0; -} - -void *memset(void *m, int c, size_t n) -{ - char *s = (char *)m; - int count, i; - unsigned long buffer; - unsigned long *aligned_addr; - unsigned char *unaligned_addr; - - // If the size is small or m is unaligned, - // then go to the byte copy loop. This should be rare. - if (n >= LBLOCKSIZE && !UNALIGNED(m)) - { - // We know that n is large and m is word-aligned. - aligned_addr = (unsigned long *)m; - - // Store C into each char sized location in buffer so that - // we can set large blocks quickly. - c &= 0xFF; - if (LBLOCKSIZE == 4) - { - buffer = (c << 8) | c; - buffer |= (buffer << 16); - } - else - { - buffer = 0; - for (i = 0; i < LBLOCKSIZE; i++) - buffer = (buffer << 8) | c; - } - - while (n >= LBLOCKSIZE * 4) - { - *aligned_addr++ = buffer; - *aligned_addr++ = buffer; - *aligned_addr++ = buffer; - *aligned_addr++ = buffer; - n -= LBLOCKSIZE * 4; - } - while (n >= LBLOCKSIZE) - { - *aligned_addr++ = buffer; - n -= LBLOCKSIZE; - } - - s = (char *)aligned_addr; - } - - // Pick up the remainder with a bytewise loop. - while (n--) - *s++ = (char)c; - - return m; -} - -int strcmp(const char *s1, const char *s2) -{ - unsigned long *a1; - unsigned long *a2; - - // If s1 or s2 are unaligned, then skip this and compare bytes. - if (!(UNALIGNED(s1) | UNALIGNED(s2))) - { - // Compare them a word at a time. - a1 = (unsigned long *)s1; - a2 = (unsigned long *)s2; - while (*a1 == *a2) - { - // If *a1 == *a2, and we find a null in *a1, - // then the strings must be equal, so return zero. - if (CONTAINSNULL(*a1)) - return 0; - - a1++; - a2++; - } - - s1 = (char *)a1; - s2 = (char *)a2; - } - - // Check the remaining few bytes. - while (*s1 != '\0' && *s1 == *s2) - { - s1++; - s2++; - } - - return (*(unsigned char *) s1) - (*(unsigned char *) s2); -} -- cgit v1.2.3 From 27024647438c3cfeb6218965821ac2c07122e132 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 4 Jan 2018 16:03:26 -0800 Subject: Use constants for some item names stored in script vars --- .../maps/LilycoveCity_DepartmentStoreRooftop.inc | 6 ++-- data/scripts/maps/MauvilleCity_GameCorner.inc | 18 ++++++------ data/scripts/maps/Route110_TrickHouseEnd.inc | 4 +-- data/scripts/maps/Route110_TrickHouseEntrance.inc | 4 +-- data/scripts/maps/Route113_GlassWorkshop.inc | 32 +++++++++++----------- .../maps/Route124_DivingTreasureHuntersHouse.inc | 16 +++++------ 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc index da4009759..cd5e0d980 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc @@ -88,17 +88,17 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE:: @ 815A1DE end LilycoveCity_DepartmentStoreRooftop_EventScript_15A21C:: @ 815A21C - setvar VAR_TEMP_0, 26 + setvar VAR_TEMP_0, ITEM_FRESH_WATER goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A227:: @ 815A227 - setvar VAR_TEMP_0, 27 + setvar VAR_TEMP_0, ITEM_SODA_POP goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A232:: @ 815A232 - setvar VAR_TEMP_0, 28 + setvar VAR_TEMP_0, ITEM_LEMONADE goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 end diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index c40c05d37..d150e1508 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -156,12 +156,12 @@ MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 - bufferdecorationname 1, 88 - checkdecorspace 88 + bufferdecorationname 1, DECOR_TREECKO_DOLL + checkdecorspace DECOR_TREECKO_DOLL compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156D02 takecoins 1000 - givedecoration 88 + givedecoration DECOR_TREECKO_DOLL updatecoinsbox 0, 0 playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181E49, 4 @@ -172,12 +172,12 @@ MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 - bufferdecorationname 1, 89 - checkdecorspace 89 + bufferdecorationname 1, DECOR_TORCHIC_DOLL + checkdecorspace DECOR_TORCHIC_DOLL compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156D02 takecoins 1000 - givedecoration 89 + givedecoration DECOR_TORCHIC_DOLL updatecoinsbox 0, 0 playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181E49, 4 @@ -188,12 +188,12 @@ MauvilleCity_GameCorner_EventScript_156CBA:: @ 8156CBA checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 - bufferdecorationname 1, 90 - checkdecorspace 90 + bufferdecorationname 1, DECOR_MUDKIP_DOLL + checkdecorspace DECOR_MUDKIP_DOLL compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156D02 takecoins 1000 - givedecoration 90 + givedecoration DECOR_MUDKIP_DOLL updatecoinsbox 0, 0 playse SE_REGI msgbox MauvilleCity_GameCorner_Text_181E49, 4 diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc index e7e19b4dd..68ce0f5a7 100644 --- a/data/scripts/maps/Route110_TrickHouseEnd.inc +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -167,9 +167,9 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF msgbox Route110_TrickHouseEnd_Text_19C691, 4 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 .ifdef SAPPHIRE - givedecoration_std 32 + givedecoration_std DECOR_BLUE_TENT .else - givedecoration_std 31 + givedecoration_std DECOR_RED_TENT .endc compare RESULT, 0 call_if 1, Route110_TrickHouseEnd_EventScript_161C61 diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc index e5a216db4..f34bba6e6 100644 --- a/data/scripts/maps/Route110_TrickHouseEntrance.inc +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -450,9 +450,9 @@ Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518 waitmovement 0 msgbox Route110_TrickHouseEntrance_Text_19C128, 4 .ifdef SAPPHIRE - givedecoration_std 32 + givedecoration_std DECOR_BLUE_TENT .else - givedecoration_std 31 + givedecoration_std DECOR_RED_TENT .endif compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161551 diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc index 6c1e8559f..e1bb038e3 100644 --- a/data/scripts/maps/Route113_GlassWorkshop.inc +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -67,7 +67,7 @@ Route113_GlassWorkshop_EventScript_1635EE:: @ 81635EE end Route113_GlassWorkshop_EventScript_163660:: @ 8163660 - setvar VAR_SPECIAL_8, 39 + setvar VAR_SPECIAL_8, ITEM_BLUE_FLUTE bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 250 compare VAR_ASH_GATHER_COUNT, 250 @@ -81,7 +81,7 @@ Route113_GlassWorkshop_EventScript_163660:: @ 8163660 end Route113_GlassWorkshop_EventScript_16369C:: @ 816369C - setvar VAR_SPECIAL_8, 40 + setvar VAR_SPECIAL_8, ITEM_YELLOW_FLUTE bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 500 compare VAR_ASH_GATHER_COUNT, 500 @@ -95,7 +95,7 @@ Route113_GlassWorkshop_EventScript_16369C:: @ 816369C end Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8 - setvar VAR_SPECIAL_8, 41 + setvar VAR_SPECIAL_8, ITEM_RED_FLUTE bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 500 compare VAR_ASH_GATHER_COUNT, 500 @@ -109,7 +109,7 @@ Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8 end Route113_GlassWorkshop_EventScript_163714:: @ 8163714 - setvar VAR_SPECIAL_8, 43 + setvar VAR_SPECIAL_8, ITEM_WHITE_FLUTE bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 @@ -123,7 +123,7 @@ Route113_GlassWorkshop_EventScript_163714:: @ 8163714 end Route113_GlassWorkshop_EventScript_163750:: @ 8163750 - setvar VAR_SPECIAL_8, 42 + setvar VAR_SPECIAL_8, ITEM_BLACK_FLUTE bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 @@ -138,7 +138,7 @@ Route113_GlassWorkshop_EventScript_163750:: @ 8163750 Route113_GlassWorkshop_EventScript_16378C:: @ 816378C setvar VAR_SPECIAL_9, 1 - setvar VAR_SPECIAL_8, 13 + setvar VAR_SPECIAL_8, DECOR_PRETTY_CHAIR bufferdecorationname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 6000 compare VAR_ASH_GATHER_COUNT, 6000 @@ -153,7 +153,7 @@ Route113_GlassWorkshop_EventScript_16378C:: @ 816378C Route113_GlassWorkshop_EventScript_1637CD:: @ 81637CD setvar VAR_SPECIAL_9, 1 - setvar VAR_SPECIAL_8, 6 + setvar VAR_SPECIAL_8, DECOR_PRETTY_DESK bufferdecorationname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 8000 compare VAR_ASH_GATHER_COUNT, 8000 @@ -246,50 +246,50 @@ Route113_GlassWorkshop_EventScript_1638D2:: @ 81638D2 Route113_GlassWorkshop_EventScript_163925:: @ 8163925 setvar VAR_SPECIAL_9, 0 - setvar VAR_SPECIAL_8, 39 + setvar VAR_SPECIAL_8, ITEM_BLUE_FLUTE bufferitemname 0, VAR_SPECIAL_8 goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163939:: @ 8163939 setvar VAR_SPECIAL_9, 0 - setvar VAR_SPECIAL_8, 40 + setvar VAR_SPECIAL_8, ITEM_YELLOW_FLUTE bufferitemname 0, VAR_SPECIAL_8 goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_16394D:: @ 816394D setvar VAR_SPECIAL_9, 0 - setvar VAR_SPECIAL_8, 41 + setvar VAR_SPECIAL_8, ITEM_RED_FLUTE bufferitemname 0, VAR_SPECIAL_8 goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163961:: @ 8163961 setvar VAR_SPECIAL_9, 0 - setvar VAR_SPECIAL_8, 43 + setvar VAR_SPECIAL_8, ITEM_WHITE_FLUTE bufferitemname 0, VAR_SPECIAL_8 goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163975:: @ 8163975 setvar VAR_SPECIAL_9, 0 - setvar VAR_SPECIAL_8, 42 + setvar VAR_SPECIAL_8, ITEM_BLACK_FLUTE bufferitemname 0, VAR_SPECIAL_8 goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163989:: @ 8163989 setvar VAR_SPECIAL_9, 1 - setvar VAR_SPECIAL_8, 13 - bufferdecorationname 0, 13 + setvar VAR_SPECIAL_8, DECOR_PRETTY_CHAIR + bufferdecorationname 0, DECOR_PRETTY_CHAIR goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_16399D:: @ 816399D setvar VAR_SPECIAL_9, 1 - setvar VAR_SPECIAL_8, 6 - bufferdecorationname 0, 6 + setvar VAR_SPECIAL_8, DECOR_PRETTY_DESK + bufferdecorationname 0, DECOR_PRETTY_DESK goto Route113_GlassWorkshop_EventScript_1639B1 end diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc index 4061dcd7e..bc71fac41 100644 --- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc +++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc @@ -224,23 +224,23 @@ Route124_DivingTreasureHuntersHouse_EventScript_16420F:: @ 816420F end Route124_DivingTreasureHuntersHouse_EventScript_164256:: @ 8164256 - setvar VAR_SPECIAL_8, 48 - setvar VAR_SPECIAL_9, 95 + setvar VAR_SPECIAL_8, ITEM_RED_SHARD + setvar VAR_SPECIAL_9, ITEM_FIRE_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164265:: @ 8164265 - setvar VAR_SPECIAL_8, 50 - setvar VAR_SPECIAL_9, 96 + setvar VAR_SPECIAL_8, ITEM_YELLOW_SHARD + setvar VAR_SPECIAL_9, ITEM_THUNDER_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164274:: @ 8164274 - setvar VAR_SPECIAL_8, 49 - setvar VAR_SPECIAL_9, 97 + setvar VAR_SPECIAL_8, ITEM_BLUE_SHARD + setvar VAR_SPECIAL_9, ITEM_WATER_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164283:: @ 8164283 - setvar VAR_SPECIAL_8, 51 - setvar VAR_SPECIAL_9, 98 + setvar VAR_SPECIAL_8, ITEM_GREEN_SHARD + setvar VAR_SPECIAL_9, ITEM_LEAF_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164292:: @ 8164292 -- cgit v1.2.3 From 5f6867767ca6dfa9496816421242ad4d563e1758 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 4 Jan 2018 19:14:21 -0500 Subject: Remove obsolete libc rule --- Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile b/Makefile index 48adfd870..c1f6a6b4f 100644 --- a/Makefile +++ b/Makefile @@ -92,9 +92,6 @@ sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(A sound/songs/%.s: sound/songs/%.mid cd $(@D) && ../../$(MID) $( Date: Thu, 4 Jan 2018 16:19:02 -0800 Subject: Use MSGBOX_YESNO and YES/NO constants for yes/no message boxes --- data-de/event_scripts.s | 140 ++++++++++----------- data-de/field_move_scripts.inc | 24 ++-- data/event_scripts.s | 138 ++++++++++---------- data/field_move_scripts.inc | 24 ++-- data/scripts/berry_tree.inc | 18 +-- data/scripts/cable_club.inc | 16 +-- data/scripts/contest_hall.inc | 16 +-- data/scripts/day_care.inc | 36 +++--- data/scripts/gabby_and_ty.inc | 16 +-- data/scripts/maps/BattleTower_BattleRoom.inc | 18 +-- data/scripts/maps/BattleTower_Lobby.inc | 12 +- data/scripts/maps/BattleTower_Outside.inc | 8 +- data/scripts/maps/DewfordTown.inc | 16 +-- data/scripts/maps/DewfordTown_Hall.inc | 6 +- data/scripts/maps/FallarborTown_House1.inc | 6 +- data/scripts/maps/FallarborTown_House2.inc | 4 +- data/scripts/maps/FortreeCity.inc | 4 +- data/scripts/maps/FortreeCity_House1.inc | 4 +- data/scripts/maps/LavaridgeTown.inc | 4 +- data/scripts/maps/LilycoveCity.inc | 12 +- data/scripts/maps/LilycoveCity_ContestLobby.inc | 24 ++-- .../maps/LilycoveCity_DepartmentStore_1F.inc | 4 +- data/scripts/maps/LilycoveCity_Harbor.inc | 8 +- data/scripts/maps/LilycoveCity_House3.inc | 4 +- .../maps/LilycoveCity_LilycoveMuseum_1F.inc | 6 +- .../maps/LilycoveCity_MoveDeletersHouse.inc | 12 +- .../maps/LittlerootTown_ProfessorBirchsLab.inc | 18 +-- data/scripts/maps/MauvilleCity.inc | 8 +- data/scripts/maps/MauvilleCity_BikeShop.inc | 18 +-- data/scripts/maps/MauvilleCity_GameCorner.inc | 12 +- data/scripts/maps/MauvilleCity_House2.inc | 6 +- data/scripts/maps/MossdeepCity.inc | 4 +- data/scripts/maps/MossdeepCity_GameCorner_1F.inc | 8 +- data/scripts/maps/MossdeepCity_House3.inc | 4 +- data/scripts/maps/MossdeepCity_StevensHouse.inc | 8 +- data/scripts/maps/MtChimney.inc | 8 +- data/scripts/maps/MtChimney_CableCarStation.inc | 6 +- data/scripts/maps/MtPyre_Summit.inc | 24 ++-- data/scripts/maps/NewMauville_Entrance.inc | 4 +- data/scripts/maps/PacifidlogTown_House3.inc | 4 +- data/scripts/maps/PacifidlogTown_House4.inc | 6 +- data/scripts/maps/PetalburgCity_Gym.inc | 72 +++++------ data/scripts/maps/Route104_MrBrineysHouse.inc | 12 +- .../maps/Route104_PrettyPetalFlowerShop.inc | 12 +- data/scripts/maps/Route109.inc | 4 +- data/scripts/maps/Route109_SeashoreHouse.inc | 4 +- data/scripts/maps/Route110_TrickHouseEntrance.inc | 4 +- data/scripts/maps/Route111.inc | 12 +- data/scripts/maps/Route111_OldLadysRestStop.inc | 12 +- data/scripts/maps/Route112_CableCarStation.inc | 6 +- data/scripts/maps/Route113_GlassWorkshop.inc | 28 ++--- data/scripts/maps/Route114_LanettesHouse.inc | 8 +- data/scripts/maps/Route118.inc | 6 +- data/scripts/maps/Route120.inc | 14 +-- data/scripts/maps/Route121_SafariZoneEntrance.inc | 8 +- .../maps/Route124_DivingTreasureHuntersHouse.inc | 8 +- data/scripts/maps/RustboroCity_DevonCorp_2F.inc | 16 +-- data/scripts/maps/RustboroCity_House1.inc | 4 +- data/scripts/maps/SafariZone_Southeast.inc | 4 +- .../scripts/maps/ShoalCave_LowTideEntranceRoom.inc | 4 +- data/scripts/maps/SlateportCity.inc | 6 +- data/scripts/maps/SlateportCity_Harbor.inc | 16 +-- data/scripts/maps/SlateportCity_House1.inc | 12 +- .../maps/SlateportCity_OceanicMuseum_1F.inc | 4 +- data/scripts/maps/SootopolisCity.inc | 4 +- data/scripts/maps/SootopolisCity_House2.inc | 6 +- data/scripts/maps/SootopolisCity_House3.inc | 4 +- data/scripts/maps/SootopolisCity_House6.inc | 4 +- data/scripts/maps/SouthernIsland_Exterior.inc | 4 +- data/scripts/pokeblocks.inc | 18 +-- data/scripts/safari_zone.inc | 8 +- data/scripts/secret_power_tm.inc | 4 +- 72 files changed, 523 insertions(+), 523 deletions(-) diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s index b8cc5d8f6..020c9a97d 100644 --- a/data-de/event_scripts.s +++ b/data-de/event_scripts.s @@ -440,8 +440,8 @@ EventScript_15F3E2: end EventScript_15F419: - msgbox UnknownString_81A38FB, 5 - compare RESULT, 0 + msgbox UnknownString_81A38FB, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_15F384 closemessage special SecretBasePC_PackUp @@ -492,8 +492,8 @@ EventScript_15F4A1: compare RESULT, 2 goto_if_eq EventScript_15F503 special BufferSecretBaseOwnerName - msgbox UnknownString_81A3958, 5 - compare RESULT, 0 + msgbox UnknownString_81A3958, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A22, 3 special sub_80BC5BC @@ -502,8 +502,8 @@ EventScript_15F4A1: end EventScript_15F4E0: - msgbox UnknownString_81A3982, 5 - compare RESULT, 0 + msgbox UnknownString_81A3982, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A3A, 3 special sub_80BC5BC @@ -1449,10 +1449,10 @@ SootopolisCity_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B lock faceplayer - msgbox gText_NurseJoy_Welcome, 5 - compare RESULT, 1 + msgbox gText_NurseJoy_Welcome, MSGBOX_YESNO + compare RESULT, YES goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FD7C - compare RESULT, 0 + compare RESULT, NO goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDC7 end @@ -1670,10 +1670,10 @@ HiddenItemScript_Fail: UnusedMixRecordsScript: @ 819FFD5 lock faceplayer - msgbox UnusedMixRecordsPromptText, 5 - compare RESULT, 1 + msgbox UnusedMixRecordsPromptText, MSGBOX_YESNO + compare RESULT, YES goto_if_eq UnusedMixRecordsScript_Yes - compare RESULT, 0 + compare RESULT, NO goto_if_eq UnusedMixRecordsScript_Done goto UnusedMixRecordsScript_Done UnusedMixRecordsScript_Yes: @ 819FFFA @@ -1833,8 +1833,8 @@ UseSurfScript:: @ 81A0117 bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT lockall - msgbox UseSurfPromptText, 5 - compare RESULT, 0 + msgbox UseSurfPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq UseSurfScript_No msgbox UsedSurfText, 4 dofieldeffect 9 @@ -2199,8 +2199,8 @@ Route101_EventScript_1A037F:: @ 81A037F Route103_EventScript_1A037F:: @ 81A037F lock faceplayer - msgbox Route101_Text_1C4449, 5 - compare RESULT, 0 + msgbox Route101_Text_1C4449, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route101_EventScript_1A039B call Route101_EventScript_1A03B0 release @@ -2448,8 +2448,8 @@ Route120_EventScript_1A0594:: @ 81A0594 end Route119_EventScript_1A05AE:: @ 81A05AE - msgbox Route119_Text_171BB6, 5 - compare RESULT, 1 + msgbox Route119_Text_171BB6, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route119_EventScript_1A05C3 release end @@ -3653,8 +3653,8 @@ EventScript_1A2CB0: compare RESULT, 6 goto_if_eq EventScript_1A2CF1 bufferpartymonnick 0, RESULT - msgbox UnknownString_8198F34, 5 - compare RESULT, 0 + msgbox UnknownString_8198F34, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 closemessage @@ -3684,8 +3684,8 @@ EventScript_1A2D08: compare RESULT, 6 goto_if_eq EventScript_1A2D49 bufferpartymonnick 0, RESULT - msgbox UnknownString_81A197B, 5 - compare RESULT, 0 + msgbox UnknownString_81A197B, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 closemessage @@ -3715,8 +3715,8 @@ EventScript_1A2D60: compare RESULT, 6 goto_if_eq EventScript_1A2DA1 bufferpartymonnick 0, RESULT - msgbox UnknownString_81A1A4B, 5 - compare RESULT, 0 + msgbox UnknownString_81A1A4B, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 closemessage @@ -3759,8 +3759,8 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE applymovement 255, SecretBase_RedCave1_Movement_1A2E11 waitmovement 0 setvar VAR_0x4097, 1 - msgbox SecretBase_RedCave1_Text_198F89, 5 - compare RESULT, 1 + msgbox SecretBase_RedCave1_Text_198F89, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SecretBase_RedCave1_EventScript_1A2E08 closemessage playse SE_KAIDAN @@ -3807,18 +3807,18 @@ EventScript_1A2E45: setorcopyvar VAR_SPECIAL_4, RESULT lockall special GetSecretBaseNearbyMapName - msgbox UnknownString_81A3C71, 5 - compare RESULT, 0 + msgbox UnknownString_81A3C71, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A - msgbox UnknownString_81A38FB, 5 - compare RESULT, 0 + msgbox UnknownString_81A38FB, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A fadescreen 1 special MoveSecretBase closemessage fadescreen 0 - msgbox UnknownString_81A3CC9, 5 - compare RESULT, 0 + msgbox UnknownString_81A3CC9, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A bufferpartymonnick 0, VAR_SPECIAL_4 buffermovename 1, MOVE_SECRET_POWER @@ -3971,8 +3971,8 @@ SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 goto_if_eq SecretBase_RedCave1_EventScript_1A30A5 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A1AEA, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A1AEA, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A308F setvar RESULT, 1 special sub_80BCE4C @@ -4006,8 +4006,8 @@ SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE goto_if_eq SecretBase_RedCave1_EventScript_1A3121 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A1E67, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A1E67, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A310B setvar RESULT, 1 special sub_80BCE4C @@ -4041,8 +4041,8 @@ SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A goto_if_eq SecretBase_RedCave1_EventScript_1A319D lock faceplayer - msgbox SecretBase_RedCave1_Text_1A218F, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A218F, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A3187 setvar RESULT, 1 special sub_80BCE4C @@ -4076,8 +4076,8 @@ SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 goto_if_eq SecretBase_RedCave1_EventScript_1A3219 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A24E1, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A24E1, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A3203 setvar RESULT, 1 special sub_80BCE4C @@ -4111,8 +4111,8 @@ SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 goto_if_eq SecretBase_RedCave1_EventScript_1A3295 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2830, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2830, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A327F setvar RESULT, 1 special sub_80BCE4C @@ -4146,8 +4146,8 @@ SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E goto_if_eq SecretBase_RedCave1_EventScript_1A3311 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A1CB2, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A1CB2, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A32FB setvar RESULT, 1 special sub_80BCE4C @@ -4181,8 +4181,8 @@ SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A goto_if_eq SecretBase_RedCave1_EventScript_1A338D lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2026, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2026, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A3377 setvar RESULT, 1 special sub_80BCE4C @@ -4216,8 +4216,8 @@ SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 goto_if_eq SecretBase_RedCave1_EventScript_1A3409 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A236A, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A236A, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A33F3 setvar RESULT, 1 special sub_80BCE4C @@ -4251,8 +4251,8 @@ SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 goto_if_eq SecretBase_RedCave1_EventScript_1A3485 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2663, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2663, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A346F setvar RESULT, 1 special sub_80BCE4C @@ -4286,8 +4286,8 @@ SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E goto_if_eq SecretBase_RedCave1_EventScript_1A3501 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2A13, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2A13, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A34EB setvar RESULT, 1 special sub_80BCE4C @@ -4427,10 +4427,10 @@ SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D compare RESULT, 1 goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADED6 copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox SlateportCity_PokemonFanClub_Text_1A8704, 5 - compare RESULT, 1 + msgbox SlateportCity_PokemonFanClub_Text_1A8704, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE84 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9 end @@ -4475,18 +4475,18 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 checkflag FLAG_OCEANIC_MUSEUM_MET_REPORTER goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER - msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, 5 - compare RESULT, 1 + msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF25:: @ 81ADF25 - msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, 5 - compare RESULT, 1 + msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end @@ -4531,10 +4531,10 @@ SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0 compare RESULT, 1 goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0AC copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox SlateportCity_PokemonFanClub_Text_1A82F1, 5 - compare RESULT, 1 + msgbox SlateportCity_PokemonFanClub_Text_1A82F1, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADFE9 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 end @@ -4608,10 +4608,10 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 compare RESULT, 1 goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox FallarborTown_ContestLobby_Text_1A6F7C, 5 - compare RESULT, 1 + msgbox FallarborTown_ContestLobby_Text_1A6F7C, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FallarborTown_ContestLobby_EventScript_1AE0F8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D end @@ -4705,10 +4705,10 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF compare RESULT, 1 goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox BattleTower_Lobby_Text_1A776D, 5 - compare RESULT, 1 + msgbox BattleTower_Lobby_Text_1A776D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq BattleTower_Lobby_EventScript_1AE241 - compare RESULT, 0 + compare RESULT, NO goto_if_eq BattleTower_Lobby_EventScript_1AE297 end diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc index edecb0312..91f6ca620 100644 --- a/data-de/field_move_scripts.inc +++ b/data-de/field_move_scripts.inc @@ -8,8 +8,8 @@ S_CuttableTree:: @ 81B0DCC setfieldeffectargument 0, RESULT bufferpartymonnick 0, RESULT buffermovename 1, MOVE_CUT - msgbox UseCutPromptText, 5 - compare RESULT, 0 + msgbox UseCutPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Cut_ChoseNo msgbox UsedCutRockSmashText, 4 closemessage @@ -69,8 +69,8 @@ S_BreakableRock:: @ 81B0EB7 setfieldeffectargument 0, RESULT bufferpartymonnick 0, RESULT buffermovename 1, MOVE_ROCK_SMASH - msgbox UseRockSmashPromptText, 5 - compare RESULT, 0 + msgbox UseRockSmashPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq RockSmash_ChoseNo msgbox UsedCutRockSmashText, 4 closemessage @@ -136,8 +136,8 @@ S_PushableBoulder:: @ 81B0FCB compare RESULT, 6 goto_if_eq CannotUseStrength setfieldeffectargument 0, RESULT - msgbox UseStrengthPromptText, 5 - compare RESULT, 0 + msgbox UseStrengthPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Strength_ChoseNo closemessage dofieldeffect 40 @@ -198,8 +198,8 @@ S_UseWaterfall:: @ 81B115A goto_if_eq Waterfall_NoMonKnows bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT - msgbox UseWaterfallPromptText, 5 - compare RESULT, 0 + msgbox UseWaterfallPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Waterfall_Done msgbox UsedWaterfallText, 4 dofieldeffect 43 @@ -232,8 +232,8 @@ UseDiveScript:: @ 81B1220 bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT setfieldeffectargument 1, 1 - msgbox UseDivePromptText, 5 - compare RESULT, 0 + msgbox UseDivePromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Dive_Done msgbox UsedDiveText, 4 dofieldeffect 44 @@ -255,8 +255,8 @@ S_UseDiveUnderwater:: @ 81B1269 bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT setfieldeffectargument 1, 1 - msgbox UnderwaterUseDivePromptText, 5 - compare RESULT, 0 + msgbox UnderwaterUseDivePromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq UnderwaterDive_Done msgbox UsedDiveText, 4 dofieldeffect 44 diff --git a/data/event_scripts.s b/data/event_scripts.s index 8b0011893..1ed419b52 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -440,8 +440,8 @@ EventScript_15F3E2: end EventScript_15F419: - msgbox UnknownString_81A38FB, 5 - compare RESULT, 0 + msgbox UnknownString_81A38FB, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_15F384 closemessage special SecretBasePC_PackUp @@ -492,8 +492,8 @@ EventScript_15F4A1: compare RESULT, 2 goto_if_eq EventScript_15F503 special BufferSecretBaseOwnerName - msgbox UnknownString_81A3958, 5 - compare RESULT, 0 + msgbox UnknownString_81A3958, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A22, 3 special sub_80BC5BC @@ -502,8 +502,8 @@ EventScript_15F4A1: end EventScript_15F4E0: - msgbox UnknownString_81A3982, 5 - compare RESULT, 0 + msgbox UnknownString_81A3982, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A3A, 3 special sub_80BC5BC @@ -1444,9 +1444,9 @@ VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B lock faceplayer msgbox gText_NurseJoy_Welcome, MSGBOX_YESNO - compare RESULT, 1 + compare RESULT, YES goto_if_eq do_heal_party - compare RESULT, 0 + compare RESULT, NO goto_if_eq dont_heal_party end @@ -1664,10 +1664,10 @@ HiddenItemScript_Fail: UnusedMixRecordsScript: @ 819FFD5 lock faceplayer - msgbox UnusedMixRecordsPromptText, 5 - compare RESULT, 1 + msgbox UnusedMixRecordsPromptText, MSGBOX_YESNO + compare RESULT, YES goto_if_eq UnusedMixRecordsScript_Yes - compare RESULT, 0 + compare RESULT, NO goto_if_eq UnusedMixRecordsScript_Done goto UnusedMixRecordsScript_Done UnusedMixRecordsScript_Yes: @ 819FFFA @@ -1827,8 +1827,8 @@ UseSurfScript:: @ 81A0117 bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT lockall - msgbox UseSurfPromptText, 5 - compare RESULT, 0 + msgbox UseSurfPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq UseSurfScript_No msgbox UsedSurfText, 4 dofieldeffect 9 @@ -2193,8 +2193,8 @@ Route101_EventScript_1A037F:: @ 81A037F Route103_EventScript_1A037F:: @ 81A037F lock faceplayer - msgbox Route101_Text_1C4449, 5 - compare RESULT, 0 + msgbox Route101_Text_1C4449, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route101_EventScript_1A039B call Route101_EventScript_1A03B0 release @@ -2442,8 +2442,8 @@ Route120_EventScript_1A0594:: @ 81A0594 end Route119_EventScript_1A05AE:: @ 81A05AE - msgbox Route119_Text_171BB6, 5 - compare RESULT, 1 + msgbox Route119_Text_171BB6, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route119_EventScript_1A05C3 release end @@ -3632,8 +3632,8 @@ EventScript_1A2CB0: compare RESULT, 6 goto_if_eq EventScript_1A2CF1 bufferpartymonnick 0, RESULT - msgbox UnknownString_8198F34, 5 - compare RESULT, 0 + msgbox UnknownString_8198F34, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 closemessage @@ -3663,8 +3663,8 @@ EventScript_1A2D08: compare RESULT, 6 goto_if_eq EventScript_1A2D49 bufferpartymonnick 0, RESULT - msgbox UnknownString_81A197B, 5 - compare RESULT, 0 + msgbox UnknownString_81A197B, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 closemessage @@ -3694,8 +3694,8 @@ EventScript_1A2D60: compare RESULT, 6 goto_if_eq EventScript_1A2DA1 bufferpartymonnick 0, RESULT - msgbox UnknownString_81A1A4B, 5 - compare RESULT, 0 + msgbox UnknownString_81A1A4B, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 closemessage @@ -3738,8 +3738,8 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE applymovement 255, SecretBase_RedCave1_Movement_1A2E11 waitmovement 0 setvar VAR_0x4097, 1 - msgbox SecretBase_RedCave1_Text_198F89, 5 - compare RESULT, 1 + msgbox SecretBase_RedCave1_Text_198F89, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SecretBase_RedCave1_EventScript_1A2E08 closemessage playse SE_KAIDAN @@ -3786,18 +3786,18 @@ EventScript_1A2E45: setorcopyvar VAR_SPECIAL_4, RESULT lockall special GetSecretBaseNearbyMapName - msgbox UnknownString_81A3C71, 5 - compare RESULT, 0 + msgbox UnknownString_81A3C71, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A - msgbox UnknownString_81A38FB, 5 - compare RESULT, 0 + msgbox UnknownString_81A38FB, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A fadescreen 1 special MoveSecretBase closemessage fadescreen 0 - msgbox UnknownString_81A3CC9, 5 - compare RESULT, 0 + msgbox UnknownString_81A3CC9, MSGBOX_YESNO + compare RESULT, NO goto_if_eq EventScript_1A2F3A bufferpartymonnick 0, VAR_SPECIAL_4 buffermovename 1, MOVE_SECRET_POWER @@ -3950,8 +3950,8 @@ SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 goto_if_eq SecretBase_RedCave1_EventScript_1A30A5 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A1AEA, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A1AEA, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A308F setvar RESULT, 1 special sub_80BCE4C @@ -3985,8 +3985,8 @@ SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE goto_if_eq SecretBase_RedCave1_EventScript_1A3121 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A1E67, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A1E67, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A310B setvar RESULT, 1 special sub_80BCE4C @@ -4020,8 +4020,8 @@ SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A goto_if_eq SecretBase_RedCave1_EventScript_1A319D lock faceplayer - msgbox SecretBase_RedCave1_Text_1A218F, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A218F, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A3187 setvar RESULT, 1 special sub_80BCE4C @@ -4055,8 +4055,8 @@ SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 goto_if_eq SecretBase_RedCave1_EventScript_1A3219 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A24E1, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A24E1, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A3203 setvar RESULT, 1 special sub_80BCE4C @@ -4090,8 +4090,8 @@ SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 goto_if_eq SecretBase_RedCave1_EventScript_1A3295 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2830, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2830, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A327F setvar RESULT, 1 special sub_80BCE4C @@ -4125,8 +4125,8 @@ SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E goto_if_eq SecretBase_RedCave1_EventScript_1A3311 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A1CB2, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A1CB2, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A32FB setvar RESULT, 1 special sub_80BCE4C @@ -4160,8 +4160,8 @@ SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A goto_if_eq SecretBase_RedCave1_EventScript_1A338D lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2026, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2026, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A3377 setvar RESULT, 1 special sub_80BCE4C @@ -4195,8 +4195,8 @@ SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 goto_if_eq SecretBase_RedCave1_EventScript_1A3409 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A236A, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A236A, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A33F3 setvar RESULT, 1 special sub_80BCE4C @@ -4230,8 +4230,8 @@ SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 goto_if_eq SecretBase_RedCave1_EventScript_1A3485 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2663, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2663, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A346F setvar RESULT, 1 special sub_80BCE4C @@ -4265,8 +4265,8 @@ SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E goto_if_eq SecretBase_RedCave1_EventScript_1A3501 lock faceplayer - msgbox SecretBase_RedCave1_Text_1A2A13, 5 - compare RESULT, 0 + msgbox SecretBase_RedCave1_Text_1A2A13, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SecretBase_RedCave1_EventScript_1A34EB setvar RESULT, 1 special sub_80BCE4C @@ -4395,10 +4395,10 @@ SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D compare RESULT, 1 goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADED6 copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox SlateportCity_PokemonFanClub_Text_1A8704, 5 - compare RESULT, 1 + msgbox SlateportCity_PokemonFanClub_Text_1A8704, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE84 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9 end @@ -4443,18 +4443,18 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 checkflag FLAG_OCEANIC_MUSEUM_MET_REPORTER goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER - msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, 5 - compare RESULT, 1 + msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF25:: @ 81ADF25 - msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, 5 - compare RESULT, 1 + msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end @@ -4499,10 +4499,10 @@ SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0 compare RESULT, 1 goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0AC copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox SlateportCity_PokemonFanClub_Text_1A82F1, 5 - compare RESULT, 1 + msgbox SlateportCity_PokemonFanClub_Text_1A82F1, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADFE9 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 end @@ -4576,10 +4576,10 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 compare RESULT, 1 goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox FallarborTown_ContestLobby_Text_1A6F7C, 5 - compare RESULT, 1 + msgbox FallarborTown_ContestLobby_Text_1A6F7C, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FallarborTown_ContestLobby_EventScript_1AE0F8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D end @@ -4673,10 +4673,10 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF compare RESULT, 1 goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - msgbox BattleTower_Lobby_Text_1A776D, 5 - compare RESULT, 1 + msgbox BattleTower_Lobby_Text_1A776D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq BattleTower_Lobby_EventScript_1AE241 - compare RESULT, 0 + compare RESULT, NO goto_if_eq BattleTower_Lobby_EventScript_1AE297 end diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc index 0a7112125..a4a7513e5 100644 --- a/data/field_move_scripts.inc +++ b/data/field_move_scripts.inc @@ -8,8 +8,8 @@ S_CuttableTree:: @ 81B0DCC setfieldeffectargument 0, RESULT bufferpartymonnick 0, RESULT buffermovename 1, MOVE_CUT - msgbox UseCutPromptText, 5 - compare RESULT, 0 + msgbox UseCutPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Cut_ChoseNo msgbox UsedCutRockSmashText, 4 closemessage @@ -66,8 +66,8 @@ S_BreakableRock:: @ 81B0EB7 setfieldeffectargument 0, RESULT bufferpartymonnick 0, RESULT buffermovename 1, MOVE_ROCK_SMASH - msgbox UseRockSmashPromptText, 5 - compare RESULT, 0 + msgbox UseRockSmashPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq RockSmash_ChoseNo msgbox UsedCutRockSmashText, 4 closemessage @@ -133,8 +133,8 @@ S_PushableBoulder:: @ 81B0FCB compare RESULT, 6 goto_if_eq CannotUseStrength setfieldeffectargument 0, RESULT - msgbox UseStrengthPromptText, 5 - compare RESULT, 0 + msgbox UseStrengthPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Strength_ChoseNo closemessage dofieldeffect 40 @@ -195,8 +195,8 @@ S_UseWaterfall:: @ 81B115A goto_if_eq Waterfall_NoMonKnows bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT - msgbox UseWaterfallPromptText, 5 - compare RESULT, 0 + msgbox UseWaterfallPromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Waterfall_Done msgbox UsedWaterfallText, 4 dofieldeffect 43 @@ -229,8 +229,8 @@ UseDiveScript:: @ 81B1220 bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT setfieldeffectargument 1, 1 - msgbox UseDivePromptText, 5 - compare RESULT, 0 + msgbox UseDivePromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Dive_Done msgbox UsedDiveText, 4 dofieldeffect 44 @@ -252,8 +252,8 @@ S_UseDiveUnderwater:: @ 81B1269 bufferpartymonnick 0, RESULT setfieldeffectargument 0, RESULT setfieldeffectargument 1, 1 - msgbox UnderwaterUseDivePromptText, 5 - compare RESULT, 0 + msgbox UnderwaterUseDivePromptText, MSGBOX_YESNO + compare RESULT, NO goto_if_eq UnderwaterDive_Done msgbox UsedDiveText, 4 dofieldeffect 44 diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 817e2b1e4..9fb808074 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -31,10 +31,10 @@ Route102_EventScript_1A153D:: @ 81A153D end Route102_EventScript_1A1558:: @ 81A1558 - msgbox Route102_Text_1A16CD, 5 - compare RESULT, 1 + msgbox Route102_Text_1A16CD, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route102_EventScript_1A1577 - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route102_EventScript_1A1593 end @@ -101,10 +101,10 @@ Route102_EventScript_1A15F9:: @ 81A15F9 buffernumberstring 1, VAR_SPECIAL_6 lock faceplayer - msgbox Route102_Text_1A17C0, 5 - compare RESULT, 1 + msgbox Route102_Text_1A17C0, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route102_EventScript_1A161D - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route102_EventScript_1A164B Route102_EventScript_1A161D:: @ 81A161D @@ -148,10 +148,10 @@ Route102_EventScript_1A165F:: @ 81A165F checkitem ITEM_WAILMER_PAIL, 1 compare RESULT, 0 goto_if_eq Route102_EventScript_1A168D - msgbox Route102_Text_1A18E6, 5 - compare RESULT, 1 + msgbox Route102_Text_1A18E6, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route102_EventScript_1A1693 - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route102_EventScript_1A168D Route102_EventScript_1A168D:: @ 81A168D diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index 397538eaf..334a52382 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -351,10 +351,10 @@ VerdanturfTown_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC copyvar VAR_SPECIAL_7, LAST_TALKED lock faceplayer - msgbox OldaleTown_PokemonCenter_2F_Text_1A457E, 5 - compare RESULT, 0 + msgbox OldaleTown_PokemonCenter_2F_Text_1A457E, MSGBOX_YESNO + compare RESULT, NO goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 - compare RESULT, 1 + compare RESULT, YES goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A40FA OldaleTown_PokemonCenter_2F_EventScript_1A40FA:: @ 81A40FA @@ -448,10 +448,10 @@ VerdanturfTown_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB copyvar VAR_SPECIAL_7, LAST_TALKED lock faceplayer - msgbox OldaleTown_PokemonCenter_2F_Text_1A45FE, 5 - compare RESULT, 0 + msgbox OldaleTown_PokemonCenter_2F_Text_1A45FE, MSGBOX_YESNO + compare RESULT, NO goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 - compare RESULT, 1 + compare RESULT, YES goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4229 OldaleTown_PokemonCenter_2F_EventScript_1A4229:: @ 81A4229 @@ -790,8 +790,8 @@ RecordCorner_EventScript_1A44D6:: @ 81A44D6 end TradeRoom_PromptToCancelLink:: @ 81A44E5 - msgbox TradeRoom_WillLinkBeTerminated, 5 - compare RESULT, 1 + msgbox TradeRoom_WillLinkBeTerminated, MSGBOX_YESNO + compare RESULT, YES goto_if_eq TradeRoom_TerminateLink erasebox 0, 0, 29, 19 end diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 4a7712f58..af2c39979 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -32,8 +32,8 @@ FallarborTown_ContestLobby_EventScript_1A4EE1:: @ 81A4EE1 end FallarborTown_ContestLobby_EventScript_1A4EF6:: @ 81A4EF6 - msgbox FallarborTown_ContestLobby_Text_1A64F4, 5 - compare RESULT, 1 + msgbox FallarborTown_ContestLobby_Text_1A64F4, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F13 msgbox FallarborTown_ContestLobby_Text_1A65EA, 4 releaseall @@ -153,17 +153,17 @@ FallarborTown_ContestLobby_EventScript_1A50C8:: @ 81A50C8 end FallarborTown_ContestLobby_EventScript_1A50D7:: @ 81A50D7 - msgbox FallarborTown_ContestLobby_Text_1A67A3, 5 + msgbox FallarborTown_ContestLobby_Text_1A67A3, MSGBOX_YESNO switch RESULT - case 0, FallarborTown_ContestLobby_EventScript_1A5048 - case 1, FallarborTown_ContestLobby_EventScript_1A513D + case NO, FallarborTown_ContestLobby_EventScript_1A5048 + case YES, FallarborTown_ContestLobby_EventScript_1A513D end FallarborTown_ContestLobby_EventScript_1A50FB:: @ 81A50FB - msgbox FallarborTown_ContestLobby_Text_1A6724, 5 + msgbox FallarborTown_ContestLobby_Text_1A6724, MSGBOX_YESNO switch RESULT - case 0, FallarborTown_ContestLobby_EventScript_1A5048 - case 1, FallarborTown_ContestLobby_EventScript_1A513D + case NO, FallarborTown_ContestLobby_EventScript_1A5048 + case YES, FallarborTown_ContestLobby_EventScript_1A513D end FallarborTown_ContestLobby_EventScript_1A511F:: @ 81A511F diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index ab91466d8..0d0d83801 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -14,11 +14,11 @@ Route117_EventScript_1B222D:: @ 81B222D end Route117_EventScript_1B2262:: @ 81B2262 - msgbox Route117_Text_1B2659, 5 - compare RESULT, 1 + msgbox Route117_Text_1B2659, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_EventScript_1B2298 - msgbox Route117_Text_1B28C4, 5 - compare RESULT, 1 + msgbox Route117_Text_1B28C4, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_EventScript_1B2298 msgbox Route117_Text_1B2745, 4 clearflag FLAG_PENDING_DAYCARE_EGG @@ -88,8 +88,8 @@ Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327 goto_if_eq Route117_PokemonDayCare_EventScript_1B242B compare RESULT, 3 goto_if_eq Route117_PokemonDayCare_EventScript_1B2558 - msgbox Route117_PokemonDayCare_Text_1B28F2, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B28F2, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B236C msgbox Route117_PokemonDayCare_Text_1B2A14, 4 release @@ -127,8 +127,8 @@ Route117_PokemonDayCare_EventScript_1B23D0:: @ 81B23D0 end Route117_PokemonDayCare_EventScript_1B23DA:: @ 81B23DA - msgbox Route117_PokemonDayCare_Text_1B29AD, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B29AD, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B236C goto Route117_PokemonDayCare_EventScript_1B23D0 end @@ -162,11 +162,11 @@ Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B msgbox Route117_PokemonDayCare_Text_1B2A88, 4 setvar VAR_SPECIAL_4, 0 call Route117_PokemonDayCare_EventScript_1B241A - msgbox Route117_PokemonDayCare_Text_1B29AD, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B29AD, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B236C - msgbox Route117_PokemonDayCare_Text_1B2BF6, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B2BF6, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B2469 goto Route117_PokemonDayCare_EventScript_1B23D0 end @@ -189,8 +189,8 @@ Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469 Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8 special GetDaycareCost - msgbox Route117_PokemonDayCare_Text_1B2B49, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B2B49, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B24C4 goto Route117_PokemonDayCare_EventScript_1B23D0 end @@ -221,8 +221,8 @@ Route117_PokemonDayCare_EventScript_1B24DE:: @ 81B24DE end Route117_PokemonDayCare_EventScript_1B2520:: @ 81B2520 - msgbox Route117_PokemonDayCare_Text_1B2A4F, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B2A4F, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B2469 goto Route117_PokemonDayCare_EventScript_1B23D0 end @@ -263,8 +263,8 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558 call Route117_PokemonDayCare_EventScript_1B241A setvar VAR_SPECIAL_4, 1 call Route117_PokemonDayCare_EventScript_1B241A - msgbox Route117_PokemonDayCare_Text_1B2BF6, 5 - compare RESULT, 1 + msgbox Route117_PokemonDayCare_Text_1B2BF6, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route117_PokemonDayCare_EventScript_1B2469 msgbox Route117_PokemonDayCare_Text_1B2A76, 4 release diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index e2f43b77e..ad7a3d3c5 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -210,7 +210,7 @@ Route111_EventScript_1AE5A2:: @ 81AE5A2 call_if 1, Route111_EventScript_1AE5FD checkflag FLAG_TEMP_1 goto_if_eq Route111_EventScript_1AE73A - msgbox Route111_Text_1AC015, 5 + msgbox Route111_Text_1AC015, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end @@ -270,37 +270,37 @@ Route111_Movement_1AE69D:: @ 81AE69D step_end Route111_EventScript_1AE69F:: @ 81AE69F - msgbox Route111_Text_1AC60B, 5 + msgbox Route111_Text_1AC60B, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6AD:: @ 81AE6AD - msgbox Route111_Text_1AC3CF, 5 + msgbox Route111_Text_1AC3CF, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6BB:: @ 81AE6BB - msgbox Route111_Text_1AC18D, 5 + msgbox Route111_Text_1AC18D, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6C9:: @ 81AE6C9 - msgbox Route111_Text_1AC219, 5 + msgbox Route111_Text_1AC219, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6D7:: @ 81AE6D7 - msgbox Route111_Text_1AC2D6, 5 + msgbox Route111_Text_1AC2D6, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6E5:: @ 81AE6E5 - msgbox Route111_Text_1AC355, 5 + msgbox Route111_Text_1AC355, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6F3:: @ 81AE6F3 - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route111_EventScript_1AE72D msgbox Route111_Text_1AC40F, 4 setvar VAR_SPECIAL_4, 10 diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc index 1ee0d35d2..ce7d7c0e9 100644 --- a/data/scripts/maps/BattleTower_BattleRoom.inc +++ b/data/scripts/maps/BattleTower_BattleRoom.inc @@ -59,24 +59,24 @@ BattleTower_BattleRoom_EventScript_160961:: @ 8160961 special ScrSpecial_HealPlayerParty BattleTower_BattleRoom_EventScript_1609B2:: @ 81609B2 - msgbox BattleTower_BattleRoom_Text_19AD09, 5 + msgbox BattleTower_BattleRoom_Text_19AD09, MSGBOX_YESNO switch RESULT - case 0, BattleTower_BattleRoom_EventScript_1609E0 - case 1, BattleTower_BattleRoom_EventScript_160A3C + case NO, BattleTower_BattleRoom_EventScript_1609E0 + case YES, BattleTower_BattleRoom_EventScript_160A3C case 127, BattleTower_BattleRoom_EventScript_1609E0 BattleTower_BattleRoom_EventScript_1609E0:: @ 81609E0 - msgbox BattleTower_BattleRoom_Text_19AD3C, 5 + msgbox BattleTower_BattleRoom_Text_19AD3C, MSGBOX_YESNO switch RESULT - case 0, BattleTower_BattleRoom_EventScript_160A0E - case 1, BattleTower_BattleRoom_EventScript_160A94 + case NO, BattleTower_BattleRoom_EventScript_160A0E + case YES, BattleTower_BattleRoom_EventScript_160A94 case 127, BattleTower_BattleRoom_EventScript_160A0E BattleTower_BattleRoom_EventScript_160A0E:: @ 8160A0E - msgbox BattleTower_BattleRoom_Text_19AD66, 5 + msgbox BattleTower_BattleRoom_Text_19AD66, MSGBOX_YESNO switch RESULT - case 0, BattleTower_BattleRoom_EventScript_1609B2 - case 1, BattleTower_BattleRoom_EventScript_160AB1 + case NO, BattleTower_BattleRoom_EventScript_1609B2 + case YES, BattleTower_BattleRoom_EventScript_160AB1 case 127, BattleTower_BattleRoom_EventScript_1609B2 BattleTower_BattleRoom_EventScript_160A3C:: @ 8160A3C diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc index 5700480e2..14b85c5b0 100644 --- a/data/scripts/maps/BattleTower_Lobby.inc +++ b/data/scripts/maps/BattleTower_Lobby.inc @@ -221,10 +221,10 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA waitstate compare RESULT, 0 goto_if_eq BattleTower_Lobby_EventScript_16064F - msgbox BattleTower_Lobby_Text_199FDA, 5 + msgbox BattleTower_Lobby_Text_199FDA, MSGBOX_YESNO switch RESULT - case 0, BattleTower_Lobby_EventScript_16064F - case 1, BattleTower_Lobby_EventScript_160587 + case NO, BattleTower_Lobby_EventScript_16064F + case YES, BattleTower_Lobby_EventScript_160587 case 127, BattleTower_Lobby_EventScript_16064F BattleTower_Lobby_EventScript_160587:: @ 8160587 @@ -334,10 +334,10 @@ BattleTower_Lobby_Movement_16069A:: @ 816069A BattleTower_Lobby_EventScript_1606A5:: @ 81606A5 lock faceplayer - msgbox BattleTower_Lobby_Text_19A747, 5 + msgbox BattleTower_Lobby_Text_19A747, MSGBOX_YESNO switch RESULT - case 1, BattleTower_Lobby_EventScript_1606CC - case 0, BattleTower_Lobby_EventScript_1606F7 + case YES, BattleTower_Lobby_EventScript_1606CC + case NO, BattleTower_Lobby_EventScript_1606F7 release end diff --git a/data/scripts/maps/BattleTower_Outside.inc b/data/scripts/maps/BattleTower_Outside.inc index 3992ffd2c..8f6cb4305 100644 --- a/data/scripts/maps/BattleTower_Outside.inc +++ b/data/scripts/maps/BattleTower_Outside.inc @@ -35,8 +35,8 @@ BattleTower_Outside_EventScript_1601C6:: @ 81601C6 end BattleTower_Outside_EventScript_1601D0:: @ 81601D0 - msgbox BattleTower_Outside_Text_199DF2, 5 - compare RESULT, 0 + msgbox BattleTower_Outside_Text_199DF2, MSGBOX_YESNO + compare RESULT, NO goto_if_eq BattleTower_Outside_EventScript_160226 msgbox BattleTower_Outside_Text_199E4B, 4 call BattleTower_Outside_EventScript_160232 @@ -46,8 +46,8 @@ BattleTower_Outside_EventScript_1601D0:: @ 81601D0 end BattleTower_Outside_EventScript_1601FB:: @ 81601FB - msgbox BattleTower_Outside_Text_199E0E, 5 - compare RESULT, 0 + msgbox BattleTower_Outside_Text_199E0E, MSGBOX_YESNO + compare RESULT, NO goto_if_eq BattleTower_Outside_EventScript_160226 msgbox BattleTower_Outside_Text_199E4B, 4 call BattleTower_Outside_EventScript_160232 diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc index dc733071f..50c9d8991 100644 --- a/data/scripts/maps/DewfordTown.inc +++ b/data/scripts/maps/DewfordTown.inc @@ -42,8 +42,8 @@ DewfordTown_EventScript_14E06B:: @ 814E06B end DewfordTown_EventScript_14E076:: @ 814E076 - msgbox DewfordTown_Text_16B3BC, 5 - compare RESULT, 1 + msgbox DewfordTown_Text_16B3BC, MSGBOX_YESNO + compare RESULT, YES goto_if_eq DewfordTown_EventScript_14E093 msgbox DewfordTown_Text_16B471, 4 release @@ -76,10 +76,10 @@ DewfordTown_EventScript_14E0C6:: @ 814E0C6 faceplayer checkflag FLAG_RECEIVED_OLD_ROD goto_if_eq DewfordTown_EventScript_14E11B - msgbox DewfordTown_Text_16B665, 5 - compare RESULT, 1 + msgbox DewfordTown_Text_16B665, MSGBOX_YESNO + compare RESULT, YES goto_if_eq DewfordTown_EventScript_14E0F0 - compare RESULT, 0 + compare RESULT, NO goto_if_eq DewfordTown_EventScript_14E111 end @@ -598,10 +598,10 @@ DewfordTown_EventScript_14E413:: @ 814E413 lock faceplayer call DewfordTown_EventScript_1A0102 - msgbox DewfordTown_Text_16B9CE, 5 - compare RESULT, 1 + msgbox DewfordTown_Text_16B9CE, MSGBOX_YESNO + compare RESULT, YES goto_if_eq DewfordTown_EventScript_14E439 - compare RESULT, 0 + compare RESULT, NO goto_if_eq DewfordTown_EventScript_14E443 end diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc index 530a4e04d..c4ccc769c 100644 --- a/data/scripts/maps/DewfordTown_Hall.inc +++ b/data/scripts/maps/DewfordTown_Hall.inc @@ -30,10 +30,10 @@ DewfordTown_Hall_EventScript_1532CD:: @ 81532CD faceplayer call DewfordTown_Hall_EventScript_1A0102 special BufferRandomHobbyOrLifestyleString - msgbox DewfordTown_Hall_Text_1755F9, 5 - compare RESULT, 1 + msgbox DewfordTown_Hall_Text_1755F9, MSGBOX_YESNO + compare RESULT, YES goto_if_eq DewfordTown_Hall_EventScript_1532F6 - compare RESULT, 0 + compare RESULT, NO goto_if_eq DewfordTown_Hall_EventScript_153300 end diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc index 3c5345f8f..d2b27f478 100644 --- a/data/scripts/maps/FallarborTown_House1.inc +++ b/data/scripts/maps/FallarborTown_House1.inc @@ -22,7 +22,7 @@ FallarborTown_House1_EventScript_153BDA:: @ 8153BDA call_if 0, FallarborTown_House1_EventScript_153C2D checkflag FLAG_TEMP_2 call_if 1, FallarborTown_House1_EventScript_153C3E - compare RESULT, 0 + compare RESULT, NO goto_if_eq FallarborTown_House1_EventScript_153C47 msgbox FallarborTown_House1_Text_1778C4, 4 giveitem_std ITEM_TM27 @@ -37,11 +37,11 @@ FallarborTown_House1_EventScript_153BDA:: @ 8153BDA FallarborTown_House1_EventScript_153C2D:: @ 8153C2D msgbox FallarborTown_House1_Text_177755, 4 - msgbox FallarborTown_House1_Text_17780E, 5 + msgbox FallarborTown_House1_Text_17780E, MSGBOX_YESNO return FallarborTown_House1_EventScript_153C3E:: @ 8153C3E - msgbox FallarborTown_House1_Text_1779B8, 5 + msgbox FallarborTown_House1_Text_1779B8, MSGBOX_YESNO return FallarborTown_House1_EventScript_153C47:: @ 8153C47 diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc index 0546ef5be..7ceaabdef 100644 --- a/data/scripts/maps/FallarborTown_House2.inc +++ b/data/scripts/maps/FallarborTown_House2.inc @@ -16,9 +16,9 @@ FallarborTown_House2_EventScript_153CB6:: @ 8153CB6 checkitem ITEM_HEART_SCALE, 1 compare RESULT, 0 goto_if_eq FallarborTown_House2_EventScript_153D60 - msgbox FallarborTown_House2_Text_177BDB, 5 + msgbox FallarborTown_House2_Text_177BDB, MSGBOX_YESNO switch RESULT - case 0, FallarborTown_House2_EventScript_153D60 + case NO, FallarborTown_House2_EventScript_153D60 goto FallarborTown_House2_EventScript_153CE4 end diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc index 239c1410d..937b435a6 100644 --- a/data/scripts/maps/FortreeCity.inc +++ b/data/scripts/maps/FortreeCity.inc @@ -64,8 +64,8 @@ FortreeCity_EventScript_14C9B3:: @ 814C9B3 end FortreeCity_EventScript_14C9CF:: @ 814C9CF - msgbox FortreeCity_Text_16788B, 5 - compare RESULT, 1 + msgbox FortreeCity_Text_16788B, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FortreeCity_EventScript_14C9E4 release end diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc index f6f8aafa6..b308aa836 100644 --- a/data/scripts/maps/FortreeCity_House1.inc +++ b/data/scripts/maps/FortreeCity_House1.inc @@ -10,8 +10,8 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13 copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 specialvar RESULT, GetInGameTradeSpeciesInfo copyvar VAR_SPECIAL_9, RESULT - msgbox FortreeCity_House1_Text_18568C, 5 - compare RESULT, 0 + msgbox FortreeCity_House1_Text_18568C, MSGBOX_YESNO + compare RESULT, NO goto_if_eq FortreeCity_House1_EventScript_157E95 special SelectMonForNPCTrade waitstate diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc index f1a6deed0..44a1e141b 100644 --- a/data/scripts/maps/LavaridgeTown.inc +++ b/data/scripts/maps/LavaridgeTown.inc @@ -274,8 +274,8 @@ LavaridgeTown_EventScript_14E75A:: @ 814E75A faceplayer checkflag FLAG_RECEIVED_LAVARIDGE_EGG goto_if_eq LavaridgeTown_EventScript_14E79E - msgbox LavaridgeTown_Text_16C174, 5 - compare RESULT, 0 + msgbox LavaridgeTown_Text_16C174, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LavaridgeTown_EventScript_14E7B2 getpartysize compare RESULT, 6 diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc index 0d714003e..6ed8054f8 100644 --- a/data/scripts/maps/LilycoveCity.inc +++ b/data/scripts/maps/LilycoveCity.inc @@ -260,7 +260,7 @@ LilycoveCity_EventScript_14CD60:: @ 814CD60 call_if 1, LilycoveCity_EventScript_14CDB0 checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE call_if 0, LilycoveCity_EventScript_14CDB9 - compare RESULT, 0 + compare RESULT, NO goto_if_eq LilycoveCity_EventScript_14CDC2 msgbox LilycoveCity_Text_167B94, 4 switch VAR_STARTER_MON @@ -270,11 +270,11 @@ LilycoveCity_EventScript_14CD60:: @ 814CD60 end LilycoveCity_EventScript_14CDB0:: @ 814CDB0 - msgbox LilycoveCity_Text_167B55, 5 + msgbox LilycoveCity_Text_167B55, MSGBOX_YESNO return LilycoveCity_EventScript_14CDB9:: @ 814CDB9 - msgbox LilycoveCity_Text_1679BF, 5 + msgbox LilycoveCity_Text_1679BF, MSGBOX_YESNO return LilycoveCity_EventScript_14CDC2:: @ 814CDC2 @@ -291,7 +291,7 @@ LilycoveCity_EventScript_14CDD3:: @ 814CDD3 call_if 1, LilycoveCity_EventScript_14CE23 checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE call_if 0, LilycoveCity_EventScript_14CE2C - compare RESULT, 0 + compare RESULT, NO goto_if_eq LilycoveCity_EventScript_14CE35 msgbox LilycoveCity_Text_1680A9, 4 switch VAR_STARTER_MON @@ -301,11 +301,11 @@ LilycoveCity_EventScript_14CDD3:: @ 814CDD3 end LilycoveCity_EventScript_14CE23:: @ 814CE23 - msgbox LilycoveCity_Text_168067, 5 + msgbox LilycoveCity_Text_168067, MSGBOX_YESNO return LilycoveCity_EventScript_14CE2C:: @ 814CE2C - msgbox LilycoveCity_Text_167F75, 5 + msgbox LilycoveCity_Text_167F75, MSGBOX_YESNO return LilycoveCity_EventScript_14CE35:: @ 814CE35 diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index bb13b95be..7aceecef6 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -30,10 +30,10 @@ LilycoveCity_ContestLobby_EventScript_158898:: @ 8158898 fadescreen 1 drawcontestwinner 0 lockall - msgbox LilycoveCity_ContestLobby_Text_1889FD, 5 - compare RESULT, 1 + msgbox LilycoveCity_ContestLobby_Text_1889FD, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LilycoveCity_ContestLobby_EventScript_1588DE - compare RESULT, 0 + compare RESULT, NO goto_if_eq LilycoveCity_ContestLobby_EventScript_158918 releaseall end @@ -55,8 +55,8 @@ LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE end LilycoveCity_ContestLobby_EventScript_158918:: @ 8158918 - msgbox LilycoveCity_ContestLobby_Text_188C41, 5 - compare RESULT, 1 + msgbox LilycoveCity_ContestLobby_Text_188C41, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LilycoveCity_ContestLobby_EventScript_1588DE msgbox LilycoveCity_ContestLobby_Text_188CBD, 4 closemessage @@ -204,10 +204,10 @@ LilycoveCity_ContestLobby_EventScript_158A6A:: @ 8158A6A lockall fadescreen 1 drawcontestwinner 0 - msgbox LilycoveCity_ContestLobby_Text_1889FD, 5 - compare RESULT, 1 + msgbox LilycoveCity_ContestLobby_Text_1889FD, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LilycoveCity_ContestLobby_EventScript_158AAE - compare RESULT, 0 + compare RESULT, NO goto_if_eq LilycoveCity_ContestLobby_EventScript_158AE8 end @@ -228,8 +228,8 @@ LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE end LilycoveCity_ContestLobby_EventScript_158AE8:: @ 8158AE8 - msgbox LilycoveCity_ContestLobby_Text_188C41, 5 - compare RESULT, 1 + msgbox LilycoveCity_ContestLobby_Text_188C41, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LilycoveCity_ContestLobby_EventScript_158AAE msgbox LilycoveCity_ContestLobby_Text_188CBD, 4 closemessage @@ -327,8 +327,8 @@ LilycoveCity_ContestLobby_EventScript_158BBA:: @ 8158BBA end LilycoveCity_ContestLobby_EventScript_158BC4:: @ 8158BC4 - msgbox LilycoveCity_ContestLobby_Text_188521, 5 - compare RESULT, 0 + msgbox LilycoveCity_ContestLobby_Text_188521, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LilycoveCity_ContestLobby_EventScript_158C35 call S_DoSaveDialog erasebox 0, 0, 15, 9 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc index 12d8bfb4e..db2b8edf9 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc @@ -13,8 +13,8 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1 checkflag FLAG_DAILY_PICKED_LOTTO_TICKET goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E4C - msgbox LilycoveCity_DepartmentStore_1F_Text_1C4B5E, 5 - compare RESULT, 0 + msgbox LilycoveCity_DepartmentStore_1F_Text_1C4B5E, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E56 setflag FLAG_DAILY_PICKED_LOTTO_TICKET message LilycoveCity_DepartmentStore_1F_Text_1C4CC6 diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc index 9554b8fa4..3b884c233 100644 --- a/data/scripts/maps/LilycoveCity_Harbor.inc +++ b/data/scripts/maps/LilycoveCity_Harbor.inc @@ -47,8 +47,8 @@ LilycoveCity_Harbor_EventScript_159929:: @ 8159929 end LilycoveCity_Harbor_EventScript_159933:: @ 8159933 - msgbox LilycoveCity_Harbor_Text_18B47D, 5 - compare RESULT, 0 + msgbox LilycoveCity_Harbor_Text_18B47D, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LilycoveCity_Harbor_EventScript_15997E setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_15998A @@ -58,8 +58,8 @@ LilycoveCity_Harbor_EventScript_159933:: @ 8159933 end LilycoveCity_Harbor_EventScript_15995B:: @ 815995B - msgbox LilycoveCity_Harbor_Text_18B499, 5 - compare RESULT, 0 + msgbox LilycoveCity_Harbor_Text_18B499, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LilycoveCity_Harbor_EventScript_15997E call LilycoveCity_Harbor_EventScript_15998A warp MAP_BATTLE_TOWER_OUTSIDE, 255, 19, 23 diff --git a/data/scripts/maps/LilycoveCity_House3.inc b/data/scripts/maps/LilycoveCity_House3.inc index 03203ed47..1a569bf5b 100644 --- a/data/scripts/maps/LilycoveCity_House3.inc +++ b/data/scripts/maps/LilycoveCity_House3.inc @@ -10,8 +10,8 @@ LilycoveCity_House3_MapScript1_159BEA:: @ 8159BEA LilycoveCity_House3_EventScript_159BF3:: @ 8159BF3 lock faceplayer - msgbox LilycoveCity_House3_Text_18B8CC, 5 - compare RESULT, 0 + msgbox LilycoveCity_House3_Text_18B8CC, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LilycoveCity_House3_EventScript_159C1D msgbox LilycoveCity_House3_Text_18BA2B, 4 closemessage diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc index 5d5b04114..95338f231 100644 --- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc @@ -22,10 +22,10 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_15844F:: @ 815844F end LilycoveCity_LilycoveMuseum_1F_EventScript_158458:: @ 8158458 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_187495, 5 - compare RESULT, 0 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_187495, MSGBOX_YESNO + compare RESULT, NO goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158477 - compare RESULT, 1 + compare RESULT, YES goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158481 end diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc index 0c9a9054b..8b8500a9c 100644 --- a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc +++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc @@ -5,10 +5,10 @@ LilycoveCity_MoveDeletersHouse_EventScript_159AAE:: @ 8159AAE lockall applymovement 1, LilycoveCity_MoveDeletersHouse_Movement_1A0839 waitmovement 0 - msgbox LilycoveCity_MoveDeletersHouse_Text_18B622, 5 + msgbox LilycoveCity_MoveDeletersHouse_Text_18B622, MSGBOX_YESNO switch RESULT - case 1, LilycoveCity_MoveDeletersHouse_EventScript_159ADE - case 0, LilycoveCity_MoveDeletersHouse_EventScript_159B7B + case YES, LilycoveCity_MoveDeletersHouse_EventScript_159ADE + case NO, LilycoveCity_MoveDeletersHouse_EventScript_159B7B releaseall end @@ -31,10 +31,10 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE compare VAR_SPECIAL_5, 4 goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159ADE special ScrSpecial_GetPokemonNicknameAndMoveName - msgbox LilycoveCity_MoveDeletersHouse_Text_18B6F2, 5 + msgbox LilycoveCity_MoveDeletersHouse_Text_18B6F2, MSGBOX_YESNO switch RESULT - case 1, LilycoveCity_MoveDeletersHouse_EventScript_159B53 - case 0, LilycoveCity_MoveDeletersHouse_EventScript_159B7B + case YES, LilycoveCity_MoveDeletersHouse_EventScript_159B53 + case NO, LilycoveCity_MoveDeletersHouse_EventScript_159B7B releaseall end diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc index e1cb348fd..10e4712bb 100644 --- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc +++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc @@ -29,10 +29,10 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152CBE:: @ 8152CBE waitmessage playfanfare BGM_FANFA4 waitfanfare - msgbox LittlerootTown_ProfessorBirchsLab_Text_173EF8, 5 - compare RESULT, 1 + msgbox LittlerootTown_ProfessorBirchsLab_Text_173EF8, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152CEA - compare RESULT, 0 + compare RESULT, NO goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152CFA end @@ -43,10 +43,10 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152CEA:: @ 8152CEA end LittlerootTown_ProfessorBirchsLab_EventScript_152CFA:: @ 8152CFA - msgbox LittlerootTown_ProfessorBirchsLab_Text_173F3D, 5 - compare RESULT, 1 + msgbox LittlerootTown_ProfessorBirchsLab_Text_173F3D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D19 - compare RESULT, 0 + compare RESULT, NO goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B end @@ -58,10 +58,10 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D19:: @ 8152D19 end LittlerootTown_ProfessorBirchsLab_EventScript_152D2B:: @ 8152D2B - msgbox LittlerootTown_ProfessorBirchsLab_Text_174075, 5 - compare RESULT, 1 + msgbox LittlerootTown_ProfessorBirchsLab_Text_174075, MSGBOX_YESNO + compare RESULT, YES goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D19 - compare RESULT, 0 + compare RESULT, NO goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B end diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc index d7f0611e1..652a25f6f 100644 --- a/data/scripts/maps/MauvilleCity.inc +++ b/data/scripts/maps/MauvilleCity.inc @@ -100,14 +100,14 @@ MauvilleCity_EventScript_14C0F9:: @ 814C0F9 waitmovement 0 applymovement 6, MauvilleCity_Movement_1A0835 waitmovement 0 - msgbox MauvilleCity_Text_165D50, 5 + msgbox MauvilleCity_Text_165D50, MSGBOX_YESNO goto MauvilleCity_EventScript_14C154 end MauvilleCity_EventScript_14C154:: @ 814C154 - compare RESULT, 1 + compare RESULT, YES call_if 1, MauvilleCity_EventScript_14C23C - compare RESULT, 0 + compare RESULT, NO goto_if_eq MauvilleCity_EventScript_14C285 closemessage switch FACING @@ -185,7 +185,7 @@ MauvilleCity_EventScript_14C285:: @ 814C285 MauvilleCity_EventScript_14C292:: @ 814C292 applymovement 6, MauvilleCity_Movement_1A0839 waitmovement 0 - msgbox MauvilleCity_Text_165EE2, 5 + msgbox MauvilleCity_Text_165EE2, MSGBOX_YESNO goto MauvilleCity_EventScript_14C154 end diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc index 6c2dc57e1..6bd7f0f4f 100644 --- a/data/scripts/maps/MauvilleCity_BikeShop.inc +++ b/data/scripts/maps/MauvilleCity_BikeShop.inc @@ -9,18 +9,18 @@ MauvilleCity_BikeShop_EventScript_156796:: @ 8156796 checkflag FLAG_DECLINED_BIKE goto_if_eq MauvilleCity_BikeShop_EventScript_1567D1 msgbox MauvilleCity_BikeShop_Text_180F9F, 4 - msgbox MauvilleCity_BikeShop_Text_181016, 5 - compare RESULT, 1 + msgbox MauvilleCity_BikeShop_Text_181016, MSGBOX_YESNO + compare RESULT, YES goto_if_eq MauvilleCity_BikeShop_EventScript_156824 - compare RESULT, 0 + compare RESULT, NO goto_if_eq MauvilleCity_BikeShop_EventScript_156817 end MauvilleCity_BikeShop_EventScript_1567D1:: @ 81567D1 - msgbox MauvilleCity_BikeShop_Text_181016, 5 - compare RESULT, 1 + msgbox MauvilleCity_BikeShop_Text_181016, MSGBOX_YESNO + compare RESULT, YES goto_if_eq MauvilleCity_BikeShop_EventScript_156824 - compare RESULT, 0 + compare RESULT, NO goto_if_eq MauvilleCity_BikeShop_EventScript_156817 end @@ -63,10 +63,10 @@ MauvilleCity_BikeShop_EventScript_156861:: @ 8156861 end MauvilleCity_BikeShop_EventScript_15686E:: @ 815686E - msgbox MauvilleCity_BikeShop_Text_1813A0, 5 - compare RESULT, 1 + msgbox MauvilleCity_BikeShop_Text_1813A0, MSGBOX_YESNO + compare RESULT, YES goto_if_eq MauvilleCity_BikeShop_EventScript_15688D - compare RESULT, 0 + compare RESULT, NO goto_if_eq MauvilleCity_BikeShop_EventScript_1568BF end diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index d150e1508..e938a1b4c 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -143,8 +143,8 @@ MauvilleCity_GameCorner_EventScript_156BFE:: @ 8156BFE goto MauvilleCity_GameCorner_EventScript_156C0C MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C - msgbox MauvilleCity_GameCorner_Text_181E33, 5 - compare RESULT, 0 + msgbox MauvilleCity_GameCorner_Text_181E33, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MauvilleCity_GameCorner_EventScript_156D0D switch VAR_TEMP_1 case 1, MauvilleCity_GameCorner_EventScript_156C46 @@ -276,8 +276,8 @@ MauvilleCity_GameCorner_EventScript_156DDE:: @ 8156DDE goto MauvilleCity_GameCorner_EventScript_156DEC MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC - msgbox MauvilleCity_GameCorner_Text_181E33, 5 - compare RESULT, 0 + msgbox MauvilleCity_GameCorner_Text_181E33, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MauvilleCity_GameCorner_EventScript_156F77 switch VAR_TEMP_1 case 1, MauvilleCity_GameCorner_EventScript_156E3C @@ -391,8 +391,8 @@ MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96 faceplayer checkflag FLAG_RECEIVED_STARTER_DOLL goto_if_eq MauvilleCity_GameCorner_EventScript_157072 - msgbox MauvilleCity_GameCorner_Text_181F3D, 5 - compare RESULT, 0 + msgbox MauvilleCity_GameCorner_Text_181F3D, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MauvilleCity_GameCorner_EventScript_157068 switch VAR_STARTER_MON case 0, MauvilleCity_GameCorner_EventScript_156FDB diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc index 32269ab89..9d3bce68a 100644 --- a/data/scripts/maps/MauvilleCity_House2.inc +++ b/data/scripts/maps/MauvilleCity_House2.inc @@ -19,10 +19,10 @@ MauvilleCity_House2_EventScript_1572E5:: @ 81572E5 waitmovement 0 applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0835 waitmovement 0 - msgbox MauvilleCity_House2_Text_1824D8, 5 - compare RESULT, 1 + msgbox MauvilleCity_House2_Text_1824D8, MSGBOX_YESNO + compare RESULT, YES goto_if_eq MauvilleCity_House2_EventScript_15731B - compare RESULT, 0 + compare RESULT, NO goto_if_eq MauvilleCity_House2_EventScript_157347 end diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc index fd4b8cfbf..3d1baf143 100644 --- a/data/scripts/maps/MossdeepCity.inc +++ b/data/scripts/maps/MossdeepCity.inc @@ -70,8 +70,8 @@ MossdeepCity_EventScript_14D027:: @ 814D027 faceplayer checkflag FLAG_RECEIVED_KINGS_ROCK goto_if_eq MossdeepCity_EventScript_14D069 - msgbox MossdeepCity_Text_1690A9, 5 - compare RESULT, 0 + msgbox MossdeepCity_Text_1690A9, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MossdeepCity_EventScript_14D073 msgbox MossdeepCity_Text_169117, 4 giveitem_std ITEM_KINGS_ROCK diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc index ad3b366a8..eac7f4adb 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc @@ -93,14 +93,14 @@ MossdeepCity_GameCorner_1F_EventScript_15AD42:: @ 815AD42 MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 special SavePlayerParty special BufferEReaderTrainerName - msgbox MossdeepCity_GameCorner_1F_Text_18E650, 5 - compare RESULT, 0 + msgbox MossdeepCity_GameCorner_1F_Text_18E650, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 call MossdeepCity_GameCorner_1F_EventScript_15ADF5 compare RESULT, 0 goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 - msgbox MossdeepCity_GameCorner_1F_Text_18E741, 5 - compare RESULT, 0 + msgbox MossdeepCity_GameCorner_1F_Text_18E741, MSGBOX_YESNO + compare RESULT, NO call_if 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8 special LoadPlayerParty call S_DoSaveDialog diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc index 6632ac793..fb44685d8 100644 --- a/data/scripts/maps/MossdeepCity_House3.inc +++ b/data/scripts/maps/MossdeepCity_House3.inc @@ -6,8 +6,8 @@ MossdeepCity_House3_EventScript_15A972:: @ 815A972 faceplayer checkflag FLAG_RECEIVED_SUPER_ROD goto_if_eq MossdeepCity_House3_EventScript_15A9B1 - msgbox MossdeepCity_House3_Text_18D909, 5 - compare RESULT, 0 + msgbox MossdeepCity_House3_Text_18D909, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MossdeepCity_House3_EventScript_15A9BB msgbox MossdeepCity_House3_Text_18D9A9, 4 giveitem_std ITEM_SUPER_ROD diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc index 9aa9d8ef3..ce2f2aad5 100644 --- a/data/scripts/maps/MossdeepCity_StevensHouse.inc +++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc @@ -71,8 +71,8 @@ MossdeepCity_StevensHouse_Movement_15AA76:: @ 815AA76 MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C lockall - msgbox MossdeepCity_StevensHouse_Text_18DD12, 5 - compare RESULT, 0 + msgbox MossdeepCity_StevensHouse_Text_18DD12, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MossdeepCity_StevensHouse_EventScript_15AAE6 getpartysize compare RESULT, 6 @@ -85,8 +85,8 @@ MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C waitmessage givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 bufferspeciesname 1, SPECIES_BELDUM - msgbox MossdeepCity_StevensHouse_Text_1A1102, 5 - compare RESULT, 1 + msgbox MossdeepCity_StevensHouse_Text_1A1102, MSGBOX_YESNO + compare RESULT, YES call_if 1, MossdeepCity_StevensHouse_EventScript_1A0678 setflag FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE setflag FLAG_RECEIVED_BELDUM diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc index d93ec772a..be4799a45 100644 --- a/data/scripts/maps/MtChimney.inc +++ b/data/scripts/maps/MtChimney.inc @@ -17,8 +17,8 @@ MtChimney_EventScript_15CF95:: @ 815CF95 faceplayer showmoneybox 0, 0 nop - msgbox MtChimney_Text_195760, 5 - compare RESULT, 0 + msgbox MtChimney_Text_195760, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MtChimney_EventScript_15D00B checkmoney 0xc8, 0 compare RESULT, 0 @@ -410,8 +410,8 @@ MtChimney_EventScript_15D17D:: @ 815D17D goto_if 0, MtChimney_EventScript_15D1D0 checkflag FLAG_RECEIVED_METEORITE goto_if_eq MtChimney_EventScript_15D1C6 - msgbox MtChimney_Text_195870, 5 - compare RESULT, 0 + msgbox MtChimney_Text_195870, MSGBOX_YESNO + compare RESULT, NO goto_if_eq MtChimney_EventScript_15D1BC msgbox MtChimney_Text_1958C6, 4 giveitem_std ITEM_METEORITE diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc index 6b919f2ca..aefc68bda 100644 --- a/data/scripts/maps/MtChimney_CableCarStation.inc +++ b/data/scripts/maps/MtChimney_CableCarStation.inc @@ -31,10 +31,10 @@ MtChimney_CableCarStation_EventScript_15C127:: @ 815C127 MtChimney_CableCarStation_EventScript_15C14B:: @ 815C14B lock faceplayer - msgbox MtChimney_CableCarStation_Text_19256A, 5 - compare RESULT, 1 + msgbox MtChimney_CableCarStation_Text_19256A, MSGBOX_YESNO + compare RESULT, YES goto_if_eq MtChimney_CableCarStation_EventScript_15C16C - compare RESULT, 0 + compare RESULT, NO goto_if_eq MtChimney_CableCarStation_EventScript_15C19B end diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc index 9cd4eecd1..56ef5db79 100644 --- a/data/scripts/maps/MtPyre_Summit.inc +++ b/data/scripts/maps/MtPyre_Summit.inc @@ -139,13 +139,13 @@ MtPyre_Summit_EventScript_15D5EF:: @ 815D5EF lock faceplayer .ifdef SAPPHIRE - msgbox UnknownString_81B586F, 5 + msgbox UnknownString_81B586F, MSGBOX_YESNO .else - msgbox MtPyre_Summit_Text_1B64B3, 5 + msgbox MtPyre_Summit_Text_1B64B3, MSGBOX_YESNO .endif - compare RESULT, 1 + compare RESULT, YES call_if 1, MtPyre_Summit_EventScript_15D611 - compare RESULT, 0 + compare RESULT, NO call_if 1, MtPyre_Summit_EventScript_15D61A release end @@ -185,13 +185,13 @@ MtPyre_Summit_EventScript_15D623:: @ 815D623 MtPyre_Summit_EventScript_15D64A:: @ 815D64A .ifdef SAPPHIRE - msgbox UnknownString_81B5647, 5 + msgbox UnknownString_81B5647, MSGBOX_YESNO .else - msgbox MtPyre_Summit_Text_1B6283, 5 + msgbox MtPyre_Summit_Text_1B6283, MSGBOX_YESNO .endif - compare RESULT, 1 + compare RESULT, YES goto_if_eq MtPyre_Summit_EventScript_15D669 - compare RESULT, 0 + compare RESULT, NO goto_if_eq MtPyre_Summit_EventScript_15D69B end @@ -216,13 +216,13 @@ MtPyre_Summit_EventScript_15D669:: @ 815D669 MtPyre_Summit_EventScript_15D69B:: @ 815D69B .ifdef SAPPHIRE - msgbox UnknownString_81B56AB, 5 + msgbox UnknownString_81B56AB, MSGBOX_YESNO .else - msgbox MtPyre_Summit_Text_1B62E7, 5 + msgbox MtPyre_Summit_Text_1B62E7, MSGBOX_YESNO .endif - compare RESULT, 1 + compare RESULT, YES goto_if_eq MtPyre_Summit_EventScript_15D669 - compare RESULT, 0 + compare RESULT, NO goto_if_eq MtPyre_Summit_EventScript_15D69B end diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc index b7d68b257..2a4d8afce 100644 --- a/data/scripts/maps/NewMauville_Entrance.inc +++ b/data/scripts/maps/NewMauville_Entrance.inc @@ -29,8 +29,8 @@ NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC checkitem ITEM_BASEMENT_KEY, 1 compare RESULT, 0 goto_if_eq NewMauville_Entrance_EventScript_15E55D - msgbox NewMauville_Entrance_Text_1982D4, 5 - compare RESULT, 0 + msgbox NewMauville_Entrance_Text_1982D4, MSGBOX_YESNO + compare RESULT, NO goto_if_eq NewMauville_Entrance_EventScript_15E55D msgbox NewMauville_Entrance_Text_1982EA, 4 setmetatile 3, 0, 707, 0 diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc index f5f93f05a..f51aea6f7 100644 --- a/data/scripts/maps/PacifidlogTown_House3.inc +++ b/data/scripts/maps/PacifidlogTown_House3.inc @@ -10,8 +10,8 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 specialvar RESULT, GetInGameTradeSpeciesInfo copyvar VAR_SPECIAL_9, RESULT - msgbox PacifidlogTown_House3_Text_17940E, 5 - compare RESULT, 0 + msgbox PacifidlogTown_House3_Text_17940E, MSGBOX_YESNO + compare RESULT, NO goto_if_eq PacifidlogTown_House3_EventScript_154320 special SelectMonForNPCTrade waitstate diff --git a/data/scripts/maps/PacifidlogTown_House4.inc b/data/scripts/maps/PacifidlogTown_House4.inc index b7a6c9f86..584366c88 100644 --- a/data/scripts/maps/PacifidlogTown_House4.inc +++ b/data/scripts/maps/PacifidlogTown_House4.inc @@ -12,10 +12,10 @@ PacifidlogTown_House4_EventScript_154355:: @ 8154355 PacifidlogTown_House4_EventScript_15435E:: @ 815435E lock faceplayer - msgbox PacifidlogTown_House4_Text_17963D, 5 - compare RESULT, 1 + msgbox PacifidlogTown_House4_Text_17963D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PacifidlogTown_House4_EventScript_15437F - compare RESULT, 0 + compare RESULT, NO goto_if_eq PacifidlogTown_House4_EventScript_154389 end diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc index de141daf9..406f260b0 100644 --- a/data/scripts/maps/PetalburgCity_Gym.inc +++ b/data/scripts/maps/PetalburgCity_Gym.inc @@ -596,10 +596,10 @@ PetalburgCity_Gym_EventScript_154B73:: @ 8154B73 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 85 - msgbox PetalburgCity_Gym_Text_17B870, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B870, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -626,10 +626,10 @@ PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 98 - msgbox PetalburgCity_Gym_Text_17B8D4, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B8D4, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -639,10 +639,10 @@ PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 46 - msgbox PetalburgCity_Gym_Text_17B90F, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B90F, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -652,10 +652,10 @@ PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 59 - msgbox PetalburgCity_Gym_Text_17B950, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B950, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -665,10 +665,10 @@ PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 59 - msgbox PetalburgCity_Gym_Text_17B950, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B950, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -678,10 +678,10 @@ PetalburgCity_Gym_EventScript_154C91:: @ 8154C91 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 72 - msgbox PetalburgCity_Gym_Text_17B98A, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B98A, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -691,10 +691,10 @@ PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 20 - msgbox PetalburgCity_Gym_Text_17B9C5, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B9C5, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -704,10 +704,10 @@ PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 20 - msgbox PetalburgCity_Gym_Text_17B9C5, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17B9C5, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -717,10 +717,10 @@ PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 33 - msgbox PetalburgCity_Gym_Text_17BA00, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17BA00, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -730,10 +730,10 @@ PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 33 - msgbox PetalburgCity_Gym_Text_17BA00, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17BA00, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -743,10 +743,10 @@ PetalburgCity_Gym_EventScript_154D90:: @ 8154D90 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 7 - msgbox PetalburgCity_Gym_Text_17BA3D, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17BA3D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end @@ -756,10 +756,10 @@ PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3 goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 7 - msgbox PetalburgCity_Gym_Text_17BA3D, 5 - compare RESULT, 1 + msgbox PetalburgCity_Gym_Text_17BA3D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq PetalburgCity_Gym_EventScript_154BA8 - compare RESULT, 0 + compare RESULT, NO goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc index cb52908f5..4718f9bb9 100644 --- a/data/scripts/maps/Route104_MrBrineysHouse.inc +++ b/data/scripts/maps/Route104_MrBrineysHouse.inc @@ -36,8 +36,8 @@ Route104_MrBrineysHouse_EventScript_15BCEB:: @ 815BCEB Route104_MrBrineysHouse_EventScript_15BD0E:: @ 815BD0E setflag FLAG_MR_BRINEY_SAILING_INTRO msgbox Route104_MrBrineysHouse_Text_191A82, 4 - msgbox Route104_MrBrineysHouse_Text_191AAD, 5 - compare RESULT, 0 + msgbox Route104_MrBrineysHouse_Text_191AAD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97 goto Route104_MrBrineysHouse_EventScript_15BDAB end @@ -53,15 +53,15 @@ Route104_MrBrineysHouse_EventScript_15BD32:: @ 815BD32 end Route104_MrBrineysHouse_EventScript_15BD65:: @ 815BD65 - msgbox Route104_MrBrineysHouse_Text_191CC3, 5 - compare RESULT, 0 + msgbox Route104_MrBrineysHouse_Text_191CC3, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97 goto Route104_MrBrineysHouse_EventScript_15BDAB end Route104_MrBrineysHouse_EventScript_15BD7E:: @ 815BD7E - msgbox Route104_MrBrineysHouse_Text_191DA6, 5 - compare RESULT, 0 + msgbox Route104_MrBrineysHouse_Text_191DA6, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97 goto Route104_MrBrineysHouse_EventScript_15BDAB end diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc index 2de6bf51f..f7fbb58b5 100644 --- a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc +++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc @@ -24,19 +24,19 @@ Route104_PrettyPetalFlowerShop_EventScript_15BE0B:: @ 815BE0B checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE4A setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER - msgbox Route104_PrettyPetalFlowerShop_Text_1C5F48, 5 - compare RESULT, 1 + msgbox Route104_PrettyPetalFlowerShop_Text_1C5F48, MSGBOX_YESNO + compare RESULT, YES call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A - compare RESULT, 0 + compare RESULT, NO call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 release end Route104_PrettyPetalFlowerShop_EventScript_15BE4A:: @ 815BE4A - msgbox Route104_PrettyPetalFlowerShop_Text_1C5F1B, 5 - compare RESULT, 1 + msgbox Route104_PrettyPetalFlowerShop_Text_1C5F1B, MSGBOX_YESNO + compare RESULT, YES call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A - compare RESULT, 0 + compare RESULT, NO call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 release end diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc index 28bf046a4..c0344f150 100644 --- a/data/scripts/maps/Route109.inc +++ b/data/scripts/maps/Route109.inc @@ -278,8 +278,8 @@ Route109_EventScript_14F680:: @ 814F680 Route109_EventScript_14F691:: @ 814F691 message Route109_Text_16E0F9 - msgbox Route109_Text_16E0F9, 5 - compare RESULT, 0 + msgbox Route109_Text_16E0F9, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route109_EventScript_14F6F1 goto Route109_EventScript_14F6E2 end diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc index 7a12f5850..4c1574824 100644 --- a/data/scripts/maps/Route109_SeashoreHouse.inc +++ b/data/scripts/maps/Route109_SeashoreHouse.inc @@ -42,8 +42,8 @@ Route109_SeashoreHouse_EventScript_160E2C:: @ 8160E2C Route109_SeashoreHouse_EventScript_160E36:: @ 8160E36 showmoneybox 0, 0 nop - msgbox Route109_SeashoreHouse_Text_19B702, 5 - compare RESULT, 1 + msgbox Route109_SeashoreHouse_Text_19B702, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route109_SeashoreHouse_EventScript_160E5A msgbox Route109_SeashoreHouse_Text_19B773, 4 hidemoneybox 0, 0 diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc index f34bba6e6..232d324a4 100644 --- a/data/scripts/maps/Route110_TrickHouseEntrance.inc +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -493,9 +493,9 @@ Route110_TrickHouseEntrance_EventScript_1615BD:: @ 81615BD end Route110_TrickHouseEntrance_EventScript_1615C7:: @ 81615C7 - msgbox Route110_TrickHouseEntrance_Text_19BE7D, 5 + msgbox Route110_TrickHouseEntrance_Text_19BE7D, MSGBOX_YESNO closemessage - compare RESULT, 1 + compare RESULT, YES goto_if_eq Route110_TrickHouseEntrance_EventScript_1615DD releaseall end diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index c3d807f66..c338091a0 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -51,8 +51,8 @@ Route111_EventScript_15000D:: @ 815000D Route111_EventScript_150023:: @ 8150023 lockall - msgbox Route111_Text_16FA54, 5 - compare RESULT, 0 + msgbox Route111_Text_16FA54, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route111_EventScript_15005F giveitem_std ITEM_ROOT_FOSSIL closemessage @@ -73,8 +73,8 @@ Route111_EventScript_15005F:: @ 815005F Route111_EventScript_150069:: @ 8150069 lockall - msgbox Route111_Text_16FAED, 5 - compare RESULT, 0 + msgbox Route111_Text_16FAED, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route111_EventScript_1500A5 giveitem_std ITEM_CLAW_FOSSIL closemessage @@ -237,8 +237,8 @@ Route111_EventScript_1501D1:: @ 81501D1 lock faceplayer setflag FLAG_LANDMARK_WINSTRATE_FAMILY - msgbox Route111_Text_16F705, 5 - compare RESULT, 1 + msgbox Route111_Text_16F705, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route111_EventScript_1501F3 msgbox Route111_Text_16F785, 4 release diff --git a/data/scripts/maps/Route111_OldLadysRestStop.inc b/data/scripts/maps/Route111_OldLadysRestStop.inc index c0fb6f489..1263c4b83 100644 --- a/data/scripts/maps/Route111_OldLadysRestStop.inc +++ b/data/scripts/maps/Route111_OldLadysRestStop.inc @@ -9,10 +9,10 @@ Route111_OldLadysRestStop_MapScript1_15BFD7:: @ 815BFD7 Route111_OldLadysRestStop_EventScript_15BFDB:: @ 815BFDB lock faceplayer - msgbox Route111_OldLadysRestStop_Text_1923AF, 5 - compare RESULT, 1 + msgbox Route111_OldLadysRestStop_Text_1923AF, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route111_OldLadysRestStop_EventScript_15BFFC - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route111_OldLadysRestStop_EventScript_15C029 end @@ -20,10 +20,10 @@ Route111_OldLadysRestStop_EventScript_15BFFC:: @ 815BFFC msgbox Route111_OldLadysRestStop_Text_192423, 4 closemessage call Route111_OldLadysRestStop_EventScript_1A02CA - msgbox Route111_OldLadysRestStop_Text_19244D, 5 - compare RESULT, 1 + msgbox Route111_OldLadysRestStop_Text_19244D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route111_OldLadysRestStop_EventScript_15BFFC - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route111_OldLadysRestStop_EventScript_15C029 end diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc index cba6c33e8..adbea780e 100644 --- a/data/scripts/maps/Route112_CableCarStation.inc +++ b/data/scripts/maps/Route112_CableCarStation.inc @@ -32,10 +32,10 @@ Route112_CableCarStation_EventScript_15C068:: @ 815C068 Route112_CableCarStation_EventScript_15C08C:: @ 815C08C lock faceplayer - msgbox Route112_CableCarStation_Text_1924F5, 5 - compare RESULT, 1 + msgbox Route112_CableCarStation_Text_1924F5, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route112_CableCarStation_EventScript_15C0AD - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route112_CableCarStation_EventScript_15C0DC end diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc index e1bb038e3..3f991277f 100644 --- a/data/scripts/maps/Route113_GlassWorkshop.inc +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -72,8 +72,8 @@ Route113_GlassWorkshop_EventScript_163660:: @ 8163660 setvar VAR_SPECIAL_A, 250 compare VAR_ASH_GATHER_COUNT, 250 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 10 subvar VAR_ASH_GATHER_COUNT, 250 @@ -86,8 +86,8 @@ Route113_GlassWorkshop_EventScript_16369C:: @ 816369C setvar VAR_SPECIAL_A, 500 compare VAR_ASH_GATHER_COUNT, 500 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 11 subvar VAR_ASH_GATHER_COUNT, 500 @@ -100,8 +100,8 @@ Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8 setvar VAR_SPECIAL_A, 500 compare VAR_ASH_GATHER_COUNT, 500 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 12 subvar VAR_ASH_GATHER_COUNT, 500 @@ -114,8 +114,8 @@ Route113_GlassWorkshop_EventScript_163714:: @ 8163714 setvar VAR_SPECIAL_A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 13 subvar VAR_ASH_GATHER_COUNT, 1000 @@ -128,8 +128,8 @@ Route113_GlassWorkshop_EventScript_163750:: @ 8163750 setvar VAR_SPECIAL_A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 14 subvar VAR_ASH_GATHER_COUNT, 1000 @@ -143,8 +143,8 @@ Route113_GlassWorkshop_EventScript_16378C:: @ 816378C setvar VAR_SPECIAL_A, 6000 compare VAR_ASH_GATHER_COUNT, 6000 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 15 subvar VAR_ASH_GATHER_COUNT, 6000 @@ -158,8 +158,8 @@ Route113_GlassWorkshop_EventScript_1637CD:: @ 81637CD setvar VAR_SPECIAL_A, 8000 compare VAR_ASH_GATHER_COUNT, 8000 goto_if 0, Route113_GlassWorkshop_EventScript_163830 - msgbox Route113_GlassWorkshop_Text_19E7CD, 5 - compare RESULT, 0 + msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar VAR_GLASS_WORKSHOP_STATE, 16 subvar VAR_ASH_GATHER_COUNT, 8000 diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc index f8ff5de73..c34d4fc7e 100644 --- a/data/scripts/maps/Route114_LanettesHouse.inc +++ b/data/scripts/maps/Route114_LanettesHouse.inc @@ -31,16 +31,16 @@ Route114_LanettesHouse_EventScript_15C28F:: @ 815C28F Route114_LanettesHouse_EventScript_15C299:: @ 815C299 lockall - msgbox Route114_LanettesHouse_Text_192B4A, 5 - compare RESULT, 1 + msgbox Route114_LanettesHouse_Text_192B4A, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route114_LanettesHouse_EventScript_15C2B7 msgbox Route114_LanettesHouse_Text_192DA9, 4 releaseall end Route114_LanettesHouse_EventScript_15C2B7:: @ 815C2B7 - msgbox Route114_LanettesHouse_Text_192C01, 5 - compare RESULT, 1 + msgbox Route114_LanettesHouse_Text_192C01, MSGBOX_YESNO + compare RESULT, YES call_if 1, Route114_LanettesHouse_EventScript_15C2CC releaseall end diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc index 0ed9e9b01..a4452d989 100644 --- a/data/scripts/maps/Route118.inc +++ b/data/scripts/maps/Route118.inc @@ -11,10 +11,10 @@ Route118_EventScript_150F34:: @ 8150F34 faceplayer checkflag FLAG_RECEIVED_GOOD_ROD goto_if_eq Route118_EventScript_150F89 - msgbox Route118_Text_170F12, 5 - compare RESULT, 1 + msgbox Route118_Text_170F12, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route118_EventScript_150F5E - compare RESULT, 0 + compare RESULT, NO goto_if_eq Route118_EventScript_150F7F end diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc index 3858c0e4f..bacdcd7dd 100644 --- a/data/scripts/maps/Route120.inc +++ b/data/scripts/maps/Route120.inc @@ -115,10 +115,10 @@ Route120_EventScript_151739:: @ 8151739 dodailyevents checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE120 goto_if_eq Route120_EventScript_151837 - msgbox Route120_Text_1C58F1, 5 - compare RESULT, 1 + msgbox Route120_Text_1C58F1, MSGBOX_YESNO + compare RESULT, YES call_if 1, Route120_EventScript_151841 - compare RESULT, 0 + compare RESULT, NO call_if 1, Route120_EventScript_15184A specialvar RESULT, GetPlayerTrainerIdOnesDigit switch RESULT @@ -186,8 +186,8 @@ Route120_EventScript_151853:: @ 8151853 faceplayer checkflag FLAG_NOT_READY_FOR_BATTLE_ROUTE120 goto_if_eq Route120_EventScript_151884 - msgbox Route120_Text_171827, 5 - compare RESULT, 0 + msgbox Route120_Text_171827, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route120_EventScript_151877 goto Route120_EventScript_15189D end @@ -199,8 +199,8 @@ Route120_EventScript_151877:: @ 8151877 end Route120_EventScript_151884:: @ 8151884 - msgbox Route120_Text_17196F, 5 - compare RESULT, 0 + msgbox Route120_Text_17196F, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route120_EventScript_151877 goto Route120_EventScript_15189D end diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc index 67fa830e9..ded372aa6 100644 --- a/data/scripts/maps/Route121_SafariZoneEntrance.inc +++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc @@ -33,8 +33,8 @@ Route121_SafariZoneEntrance_EventScript_15C351:: @ 815C351 Route121_SafariZoneEntrance_EventScript_15C35A:: @ 815C35A lock faceplayer - msgbox Route121_SafariZoneEntrance_Text_1C3704, 5 - compare RESULT, 1 + msgbox Route121_SafariZoneEntrance_Text_1C3704, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route121_SafariZoneEntrance_EventScript_15C379 msgbox Route121_SafariZoneEntrance_Text_1C373C, 4 release @@ -51,8 +51,8 @@ Route121_SafariZoneEntrance_EventScript_15C383:: @ 815C383 waitmovement 0 showmoneybox 0, 0 nop - msgbox Route121_SafariZoneEntrance_Text_1C3832, 5 - compare RESULT, 1 + msgbox Route121_SafariZoneEntrance_Text_1C3832, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route121_SafariZoneEntrance_EventScript_15C3B3 msgbox Route121_SafariZoneEntrance_Text_1C3895, 4 goto Route121_SafariZoneEntrance_EventScript_15C46C diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc index bc71fac41..9423cf845 100644 --- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc +++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc @@ -246,8 +246,8 @@ Route124_DivingTreasureHuntersHouse_EventScript_164283:: @ 8164283 Route124_DivingTreasureHuntersHouse_EventScript_164292:: @ 8164292 bufferitemname 0, VAR_SPECIAL_8 bufferitemname 1, VAR_SPECIAL_9 - msgbox Route124_DivingTreasureHuntersHouse_Text_19F5E0, 5 - compare RESULT, 0 + msgbox Route124_DivingTreasureHuntersHouse_Text_19F5E0, MSGBOX_YESNO + compare RESULT, NO goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_16431F checkitemspace VAR_SPECIAL_9, 1 compare RESULT, 1 @@ -265,8 +265,8 @@ Route124_DivingTreasureHuntersHouse_EventScript_1642D3:: @ 81642D3 call Route124_DivingTreasureHuntersHouse_EventScript_163E44 compare VAR_TEMP_1, 0 goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_164333 - msgbox Route124_DivingTreasureHuntersHouse_Text_19F629, 5 - compare RESULT, 1 + msgbox Route124_DivingTreasureHuntersHouse_Text_19F629, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163EB0 goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc index 9bbbaacfa..179140378 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc @@ -85,8 +85,8 @@ RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6 waitmovement 0 applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835 waitmovement 0 - msgbox RustboroCity_DevonCorp_2F_Text_182F35, 5 - compare RESULT, 0 + msgbox RustboroCity_DevonCorp_2F_Text_182F35, MSGBOX_YESNO + compare RESULT, NO goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157636 bufferitemname 0, ITEM_ROOT_FOSSIL msgbox RustboroCity_DevonCorp_2F_Text_183023, 4 @@ -103,8 +103,8 @@ RustboroCity_DevonCorp_2F_EventScript_1575EE:: @ 81575EE waitmovement 0 applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835 waitmovement 0 - msgbox RustboroCity_DevonCorp_2F_Text_182F35, 5 - compare RESULT, 0 + msgbox RustboroCity_DevonCorp_2F_Text_182F35, MSGBOX_YESNO + compare RESULT, NO goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157636 bufferitemname 0, ITEM_CLAW_FOSSIL msgbox RustboroCity_DevonCorp_2F_Text_183023, 4 @@ -145,8 +145,8 @@ RustboroCity_DevonCorp_2F_EventScript_157661:: @ 8157661 waitfanfare waitmessage givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 - msgbox RustboroCity_DevonCorp_2F_Text_1A1102, 5 - compare RESULT, 1 + msgbox RustboroCity_DevonCorp_2F_Text_1A1102, MSGBOX_YESNO + compare RESULT, YES call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 release end @@ -165,8 +165,8 @@ RustboroCity_DevonCorp_2F_EventScript_1576B4:: @ 81576B4 waitfanfare waitmessage givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 - msgbox RustboroCity_DevonCorp_2F_Text_1A1102, 5 - compare RESULT, 1 + msgbox RustboroCity_DevonCorp_2F_Text_1A1102, MSGBOX_YESNO + compare RESULT, YES call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 release end diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc index 2e0d106bb..c0f1bc689 100644 --- a/data/scripts/maps/RustboroCity_House1.inc +++ b/data/scripts/maps/RustboroCity_House1.inc @@ -10,8 +10,8 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 specialvar RESULT, GetInGameTradeSpeciesInfo copyvar VAR_SPECIAL_9, RESULT - msgbox RustboroCity_House1_Text_184EBA, 5 - compare RESULT, 0 + msgbox RustboroCity_House1_Text_184EBA, MSGBOX_YESNO + compare RESULT, NO goto_if_eq RustboroCity_House1_EventScript_157CFB special SelectMonForNPCTrade waitstate diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc index 2dbd716cb..b3eb297e9 100644 --- a/data/scripts/maps/SafariZone_Southeast.inc +++ b/data/scripts/maps/SafariZone_Southeast.inc @@ -54,8 +54,8 @@ SafariZone_Southeast_EventScript_1600A7:: @ 81600A7 faceplayer compare VAR_TEMP_1, 0 goto_if_eq SafariZone_Southeast_EventScript_1600D1 - msgbox SafariZone_Southeast_Text_1C3A56, 5 - compare RESULT, 1 + msgbox SafariZone_Southeast_Text_1C3A56, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SafariZone_Southeast_EventScript_1600E0 msgbox SafariZone_Southeast_Text_1C3A9C, 4 release diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc index 533c46850..4dcd88761 100644 --- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc @@ -28,8 +28,8 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076 checkitem ITEM_SHOAL_SHELL, 4 compare RESULT, 0 goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138 - msgbox ShoalCave_LowTideEntranceRoom_Text_1C6793, 5 - compare RESULT, 0 + msgbox ShoalCave_LowTideEntranceRoom_Text_1C6793, MSGBOX_YESNO + compare RESULT, NO goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E16C checkitemspace ITEM_SHELL_BELL, 1 compare RESULT, 0 diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc index d39f788d8..ae8534ad9 100644 --- a/data/scripts/maps/SlateportCity.inc +++ b/data/scripts/maps/SlateportCity.inc @@ -287,10 +287,10 @@ SlateportCity_EventScript_14BCFD:: @ 814BCFD SlateportCity_EventScript_14BD06:: @ 814BD06 lock faceplayer - msgbox SlateportCity_Text_1650F1, 5 - compare RESULT, 1 + msgbox SlateportCity_Text_1650F1, MSGBOX_YESNO + compare RESULT, YES call_if 1, SlateportCity_EventScript_14BD28 - compare RESULT, 0 + compare RESULT, NO call_if 1, SlateportCity_EventScript_14BD31 release end diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc index 72f2d0382..4be5c6daf 100644 --- a/data/scripts/maps/SlateportCity_Harbor.inc +++ b/data/scripts/maps/SlateportCity_Harbor.inc @@ -190,8 +190,8 @@ SlateportCity_Harbor_EventScript_156135:: @ 8156135 end SlateportCity_Harbor_EventScript_15613F:: @ 815613F - msgbox SlateportCity_Harbor_Text_17FB81, 5 - compare RESULT, 0 + msgbox SlateportCity_Harbor_Text_17FB81, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SlateportCity_Harbor_EventScript_15618A setvar VAR_PORTHOLE_STATE, 1 call SlateportCity_Harbor_EventScript_156196 @@ -201,8 +201,8 @@ SlateportCity_Harbor_EventScript_15613F:: @ 815613F end SlateportCity_Harbor_EventScript_156167:: @ 8156167 - msgbox SlateportCity_Harbor_Text_17FB9C, 5 - compare RESULT, 0 + msgbox SlateportCity_Harbor_Text_17FB9C, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SlateportCity_Harbor_EventScript_15618A call SlateportCity_Harbor_EventScript_156196 warp MAP_BATTLE_TOWER_OUTSIDE, 255, 19, 23 @@ -332,8 +332,8 @@ SlateportCity_Harbor_EventScript_1562B3:: @ 81562B3 end SlateportCity_Harbor_EventScript_1562EA:: @ 81562EA - msgbox SlateportCity_Harbor_Text_1803DD, 5 - compare RESULT, 0 + msgbox SlateportCity_Harbor_Text_1803DD, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SlateportCity_Harbor_EventScript_156374 giveitem_std ITEM_DEEP_SEA_TOOTH compare RESULT, 0 @@ -345,8 +345,8 @@ SlateportCity_Harbor_EventScript_1562EA:: @ 81562EA end SlateportCity_Harbor_EventScript_15632A:: @ 815632A - msgbox SlateportCity_Harbor_Text_180412, 5 - compare RESULT, 0 + msgbox SlateportCity_Harbor_Text_180412, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SlateportCity_Harbor_EventScript_156374 giveitem_std ITEM_DEEP_SEA_SCALE compare RESULT, 0 diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc index aa1157d7e..13de091cb 100644 --- a/data/scripts/maps/SlateportCity_House1.inc +++ b/data/scripts/maps/SlateportCity_House1.inc @@ -4,10 +4,10 @@ SlateportCity_House1_MapScripts:: @ 815567A SlateportCity_House1_EventScript_15567B:: @ 815567B lock faceplayer - msgbox SlateportCity_House1_Text_17D46A, 5 - compare RESULT, 1 + msgbox SlateportCity_House1_Text_17D46A, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_House1_EventScript_15569C - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_House1_EventScript_1556BF end @@ -38,10 +38,10 @@ SlateportCity_House1_EventScript_1556C9:: @ 81556C9 special TV_CopyNicknameToStringVar1AndEnsureTerminated compare RESULT, 1 goto_if_eq SlateportCity_House1_EventScript_155726 - msgbox SlateportCity_House1_Text_17D505, 5 - compare RESULT, 1 + msgbox SlateportCity_House1_Text_17D505, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_House1_EventScript_155730 - compare RESULT, 0 + compare RESULT, NO goto_if_eq SlateportCity_House1_EventScript_1556BF end diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc index ad349932a..5d0fdb411 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc @@ -33,8 +33,8 @@ SlateportCity_OceanicMuseum_1F_EventScript_155AF5:: @ 8155AF5 SlateportCity_OceanicMuseum_1F_EventScript_155B06:: @ 8155B06 showmoneybox 0, 0 nop - msgbox SlateportCity_OceanicMuseum_1F_Text_17E18D, 5 - compare RESULT, 1 + msgbox SlateportCity_OceanicMuseum_1F_Text_17E18D, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155B2D closemessage hidemoneybox 0, 0 diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc index f2ccc9484..367677751 100644 --- a/data/scripts/maps/SootopolisCity.inc +++ b/data/scripts/maps/SootopolisCity.inc @@ -127,8 +127,8 @@ SootopolisCity_EventScript_14D220:: @ 814D220 end SootopolisCity_EventScript_14D241:: @ 814D241 - msgbox SootopolisCity_Text_1C6540, 5 - compare RESULT, 1 + msgbox SootopolisCity_Text_1C6540, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SootopolisCity_EventScript_14D25E msgbox SootopolisCity_Text_1C6626, 4 release diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc index 011806291..e32e993dd 100644 --- a/data/scripts/maps/SootopolisCity_House2.inc +++ b/data/scripts/maps/SootopolisCity_House2.inc @@ -4,10 +4,10 @@ SootopolisCity_House2_MapScripts:: @ 815B2E4 SootopolisCity_House2_EventScript_15B2E5:: @ 815B2E5 lock faceplayer - msgbox SootopolisCity_House2_Text_18FA66, 5 - compare RESULT, 1 + msgbox SootopolisCity_House2_Text_18FA66, MSGBOX_YESNO + compare RESULT, YES call_if 1, SootopolisCity_House2_EventScript_15B307 - compare RESULT, 0 + compare RESULT, NO call_if 1, SootopolisCity_House2_EventScript_15B310 release end diff --git a/data/scripts/maps/SootopolisCity_House3.inc b/data/scripts/maps/SootopolisCity_House3.inc index f1bf0bf19..6ffa30d3d 100644 --- a/data/scripts/maps/SootopolisCity_House3.inc +++ b/data/scripts/maps/SootopolisCity_House3.inc @@ -4,8 +4,8 @@ SootopolisCity_House3_MapScripts:: @ 815B319 SootopolisCity_House3_EventScript_15B31A:: @ 815B31A lock faceplayer - msgbox SootopolisCity_House3_Text_18FB36, 5 - compare RESULT, 1 + msgbox SootopolisCity_House3_Text_18FB36, MSGBOX_YESNO + compare RESULT, YES goto_if_eq SootopolisCity_House3_EventScript_15B339 msgbox SootopolisCity_House3_Text_18FBC0, 4 release diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc index fb91202f3..d2fb4ed7b 100644 --- a/data/scripts/maps/SootopolisCity_House6.inc +++ b/data/scripts/maps/SootopolisCity_House6.inc @@ -6,8 +6,8 @@ SootopolisCity_House6_EventScript_15B386:: @ 815B386 faceplayer checkflag FLAG_RECEIVED_WAILMER_DOLL goto_if_eq SootopolisCity_House6_EventScript_15B3CD - msgbox SootopolisCity_House6_Text_18FEA1, 5 - compare RESULT, 0 + msgbox SootopolisCity_House6_Text_18FEA1, MSGBOX_YESNO + compare RESULT, NO call_if 1, SootopolisCity_House6_EventScript_15B3C3 msgbox SootopolisCity_House6_Text_18FF12, 4 givedecoration_std DECOR_WAILMER_DOLL diff --git a/data/scripts/maps/SouthernIsland_Exterior.inc b/data/scripts/maps/SouthernIsland_Exterior.inc index ab2a73460..874e3e901 100644 --- a/data/scripts/maps/SouthernIsland_Exterior.inc +++ b/data/scripts/maps/SouthernIsland_Exterior.inc @@ -9,8 +9,8 @@ SouthernIsland_Exterior_MapScript1_160ADC:: @ 8160ADC SouthernIsland_Exterior_EventScript_160AE0:: @ 8160AE0 lock faceplayer - msgbox SouthernIsland_Exterior_Text_1C5215, 5 - compare RESULT, 0 + msgbox SouthernIsland_Exterior_Text_1C5215, MSGBOX_YESNO + compare RESULT, NO goto_if_eq SouthernIsland_Exterior_EventScript_160B25 msgbox SouthernIsland_Exterior_Text_1C5281, 4 closemessage diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index 2f5dd6f47..589d4e21c 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -38,10 +38,10 @@ LilycoveCity_ContestLobby_EventScript_1B7681:: @ 81B7681 SlateportCity_ContestLobby_EventScript_1B7681:: @ 81B7681 VerdanturfTown_ContestLobby_EventScript_1B7681:: @ 81B7681 lockall - msgbox FallarborTown_ContestLobby_Text_1B6E63, 5 - compare RESULT, 1 + msgbox FallarborTown_ContestLobby_Text_1B6E63, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FallarborTown_ContestLobby_EventScript_1B76A1 - compare RESULT, 0 + compare RESULT, NO goto_if_eq FallarborTown_ContestLobby_EventScript_1B76E5 end @@ -66,10 +66,10 @@ FallarborTown_ContestLobby_EventScript_1B76E5:: @ 81B76E5 end FallarborTown_ContestLobby_EventScript_1B76EF:: @ 81B76EF - msgbox FallarborTown_ContestLobby_Text_1B6ED0, 5 - compare RESULT, 1 + msgbox FallarborTown_ContestLobby_Text_1B6ED0, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FallarborTown_ContestLobby_EventScript_1B7734 - compare RESULT, 0 + compare RESULT, NO goto_if_eq FallarborTown_ContestLobby_EventScript_1B7726 end @@ -222,10 +222,10 @@ VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B end FallarborTown_ContestLobby_EventScript_1B7878:: @ 81B7878 - msgbox FallarborTown_ContestLobby_Text_1B727C, 5 - compare RESULT, 1 + msgbox FallarborTown_ContestLobby_Text_1B727C, MSGBOX_YESNO + compare RESULT, YES goto_if_eq FallarborTown_ContestLobby_EventScript_1B78A1 - compare RESULT, 0 + compare RESULT, NO goto_if_eq FallarborTown_ContestLobby_EventScript_1B7936 end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 6b1e76a1b..f41fd1f8c 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -13,8 +13,8 @@ EventScript_1C341B: @ 81C341B gUnknown_081C342D:: @ 81C342D lockall - msgbox UnknownString_81C34B2, 5 - compare RESULT, 1 + msgbox UnknownString_81C34B2, MSGBOX_YESNO + compare RESULT, YES goto_if_eq EventScript_1C3443 releaseall end @@ -45,8 +45,8 @@ gUnknown_081C346A:: @ 81C346A special SafariZoneGetPokeblockNameInFeeder compare RESULT, 0xFFFF goto_if 5, EventScript_1C34A9 - msgbox UnknownString_81C354E, 5 - compare RESULT, 1 + msgbox UnknownString_81C354E, MSGBOX_YESNO + compare RESULT, YES goto_if_eq EventScript_1C348E releaseall end diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index deb30187f..2a5905191 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -1,8 +1,8 @@ Route111_EventScript_1A3858:: @ 81A3858 lock faceplayer - msgbox Route111_Text_1A3520, 5 - compare RESULT, 1 + msgbox Route111_Text_1A3520, MSGBOX_YESNO + compare RESULT, YES goto_if_eq Route111_EventScript_1A3877 msgbox Route111_Text_1A37B5, 4 release -- cgit v1.2.3 From 00d49feee5c005750185d836033fc33a220a09f5 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 4 Jan 2018 20:07:21 -0800 Subject: Wrap compare macro's args in parentheses --- asm/macros/event.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 3b40883dc..cf4c9628a 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -229,10 +229,10 @@ @ Generic compare macro which attempts to deduce argument types based on their values @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers .macro compare arg1, arg2 - .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) - compare_var_to_var \arg1, \arg2 - .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= -0xFFFF && \arg2 <= 0xFFFF) - compare_var_to_value \arg1, (\arg2 & 0xFFFF) + .if (((\arg1) >> 12) == 4 || ((\arg1) >> 12) == 8) && (((\arg2) >> 12) == 4 || ((\arg2) >> 12) == 8) + compare_var_to_var (\arg1), (\arg2) + .elseif (((\arg1) >> 12) == 4 || ((\arg1) >> 12) == 8) && ((\arg2) >= -0xFFFF && (\arg2) <= 0xFFFF) + compare_var_to_value (\arg1), ((\arg2) & 0xFFFF) .else .error "Invalid arguments for 'compare'" .endif -- cgit v1.2.3