diff options
-rw-r--r-- | arm9/modules/52/asm/module_52.s | 293 | ||||
-rw-r--r-- | arm9/modules/52/include/module_52.h | 42 | ||||
-rw-r--r-- | arm9/modules/52/src/module_52.c | 647 | ||||
-rw-r--r-- | include/event_data.h | 2 |
4 files changed, 691 insertions, 293 deletions
diff --git a/arm9/modules/52/asm/module_52.s b/arm9/modules/52/asm/module_52.s deleted file mode 100644 index 22824930..00000000 --- a/arm9/modules/52/asm/module_52.s +++ /dev/null @@ -1,293 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - .section .text - .balign 4, 0 - - thumb_func_start MOD52_021D74E0 -MOD52_021D74E0: ; 0x021D74E0 - push {r3, lr} - mov r2, #2 - mov r0, #3 - mov r1, #0x4d - lsl r2, r2, #0x10 - bl FUN_0201681C - bl InitializeMainRNG - mov r0, #1 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD52_021D74E0 - - thumb_func_start MOD52_021D74F8 -MOD52_021D74F8: ; 0x021D74F8 - push {r3, lr} - bl OverlayManager_GetField18 - ldr r1, [r0, #8] - mov r0, #0x4d - bl MOD52_021D769C - mov r0, #1 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD52_021D74F8 - - thumb_func_start MOD52_021D750C -MOD52_021D750C: ; 0x021D750C - push {r3, lr} - mov r0, #0x4d - bl FUN_020168D0 - mov r0, #0 - ldr r1, _021D7524 ; =UNK_020FD144 - mvn r0, r0 - bl RegisterMainOverlay - mov r0, #1 - pop {r3, pc} - nop -_021D7524: .word UNK_020FD144 - thumb_func_end MOD52_021D750C - - thumb_func_start MOD52_021D7528 -MOD52_021D7528: ; 0x021D7528 - push {r3, lr} - mov r2, #2 - mov r0, #3 - mov r1, #0x4d - lsl r2, r2, #0x10 - bl FUN_0201681C - bl InitializeMainRNG - mov r0, #1 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD52_021D7528 - - thumb_func_start MOD52_021D7540 -MOD52_021D7540: ; 0x021D7540 - push {r4, lr} - bl OverlayManager_GetField18 - ldr r4, [r0, #8] - mov r0, #0x4d - add r1, r4, #0 - mov r2, #1 - bl MOD52_021D7604 - add r0, r4, #0 - bl Sav2_PlayerData_GetIGTAddr - bl FUN_02015E3C - mov r0, #1 - pop {r4, pc} - thumb_func_end MOD52_021D7540 - - thumb_func_start MOD52_021D7560 -MOD52_021D7560: ; 0x021D7560 - push {r3, lr} - mov r0, #0x4d - bl FUN_020168D0 - mov r0, #0 - ldr r1, _021D7578 ; =UNK_020F2B7C - mvn r0, r0 - bl RegisterMainOverlay - mov r0, #1 - pop {r3, pc} - nop -_021D7578: .word UNK_020F2B7C - thumb_func_end MOD52_021D7560 - - thumb_func_start MOD52_021D757C -MOD52_021D757C: ; 0x021D757C - push {r3, lr} - mov r2, #2 - mov r0, #3 - mov r1, #0x4d - lsl r2, r2, #0x10 - bl FUN_0201681C - bl InitializeMainRNG - mov r0, #1 - pop {r3, pc} - .align 2, 0 - thumb_func_end MOD52_021D757C - - thumb_func_start MOD52_021D7594 -MOD52_021D7594: ; 0x021D7594 - push {r3, r4, r5, lr} - bl OverlayManager_GetField18 - ldr r4, [r0, #8] - add r0, r4, #0 - bl Sav2_SysInfo_get - add r5, r0, #0 - mov r0, #0x4d - add r1, r4, #0 - bl MOD52_021D7688 - add r0, r4, #0 - mov r1, #0 - bl Options_SetButtonModeOnMain - add r0, r5, #0 - bl Sav2_SysInfo_MacAddressIsMine - cmp r0, #0 - beq _021D75C8 - add r0, r5, #0 - bl Sav2_SysInfo_RTCOffsetIsMine - cmp r0, #0 - bne _021D75D8 -_021D75C8: - add r0, r4, #0 - bl Sav2_SysInfo_RTC_get - bl FUN_020238A4 - add r0, r5, #0 - bl Sav2_SysInfo_InitFromSystem -_021D75D8: - add r0, r4, #0 - bl Sav2_PlayerData_GetIGTAddr - bl FUN_02015E3C - mov r0, #1 - pop {r3, r4, r5, pc} - .align 2, 0 - thumb_func_end MOD52_021D7594 - - thumb_func_start MOD52_021D75E8 -MOD52_021D75E8: ; 0x021D75E8 - push {r3, lr} - mov r0, #0x4d - bl FUN_020168D0 - mov r0, #0 - ldr r1, _021D7600 ; =UNK_020F2B8C - mvn r0, r0 - bl RegisterMainOverlay - mov r0, #1 - pop {r3, pc} - nop -_021D7600: .word UNK_020F2B8C - thumb_func_end MOD52_021D75E8 - - thumb_func_start MOD52_021D7604 -MOD52_021D7604: ; 0x021D7604 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - str r0, [sp] - add r0, r5, #0 - add r6, r2, #0 - bl Sav2_SysInfo_get - bl Sav2_SysInfo_InitFromSystem - add r0, r5, #0 - bl Sav2_SysInfo_RTC_get - bl Sav2_SysInfo_RTC_init - add r0, r5, #0 - bl FUN_0202881C - add r4, r0, #0 - bl MTRandom - add r2, r0, #0 - add r0, r4, #0 - mov r1, #1 - bl FUN_02028788 - add r0, r5, #0 - bl FUN_0206007C - add r0, r5, #0 - bl Sav2_PlayerData_GetProfileAddr - add r4, r0, #0 - bl MTRandom - add r7, r0, #0 - cmp r6, #0 - beq _021D7656 - add r0, r4, #0 - add r1, r7, #0 - bl PlayerProfile_SetTrainerID -_021D7656: - add r0, r4, #0 - bl PlayerProfile_GetTrainerGender - add r1, r0, #0 - add r0, r7, #0 - mov r2, #0 - bl FUN_02053678 - add r1, r0, #0 - lsl r1, r1, #0x18 - add r0, r4, #0 - lsr r1, r1, #0x18 - bl PlayerProfile_SetAvatar - add r0, r5, #0 - bl FUN_02024ECC - ldr r1, [sp] - ldr r2, _021D7684 ; =0x021D76F8 - mov r3, #0x76 - bl FUN_020250C4 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 -_021D7684: .word MOD52_021D76F8 - thumb_func_end MOD52_021D7604 - - thumb_func_start MOD52_021D7688 -MOD52_021D7688: ; 0x021D7688 - push {r3, lr} - add r0, r1, #0 - bl FUN_020226FC - cmp r0, #0 - bne _021D769A - mov r0, #0 - bl OS_ResetSystem -_021D769A: - pop {r3, pc} - thumb_func_end MOD52_021D7688 - - thumb_func_start MOD52_021D769C -MOD52_021D769C: ; 0x021D769C - push {r4, lr} - add r4, r1, #0 - add r0, r4, #0 - bl Sav2_InitDynamicRegion - add r0, r4, #0 - bl FUN_020377E0 - add r0, r4, #0 - bl Sav2_PlayerData_GetProfileAddr - ldr r1, _021D76C4 ; =0x00000BB8 - bl PlayerProfile_SetMoney - add r0, r4, #0 - bl SavArray_Flags_get - bl FUN_0205ECD4 - pop {r4, pc} - .align 2, 0 -_021D76C4: .word 0x00000BB8 - thumb_func_end MOD52_021D769C - - .rodata - .global MOD52_021D76C8 -MOD52_021D76C8: ; 0x021D76C8 - .word MOD52_021D757C, MOD52_021D7594, MOD52_021D75E8, 0xFFFFFFFF - - .global MOD52_021D76D8 -MOD52_021D76D8: ; 0x021D76D8 - .word MOD52_021D7528, MOD52_021D7540, MOD52_021D7560, 0xFFFFFFFF - - .global MOD52_021D76E8 -MOD52_021D76E8: ; 0x021D76E8 - .word MOD52_021D74E0, MOD52_021D74F8, MOD52_021D750C, 0xFFFFFFFF - - .global MOD52_021D76F8 -MOD52_021D76F8: ; 0x021D76F8 - .byte 0x9B, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00 - .byte 0x9B, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00 - .byte 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x02, 0x00, 0x9E, 0x00, 0x01, 0x00, 0xA7, 0x00, 0x02, 0x00 - .byte 0xA7, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00 - .byte 0x9B, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00 - .byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00 - .byte 0x9B, 0x00, 0x01, 0x00, 0xA5, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x02, 0x00, 0xA4, 0x00, 0x02, 0x00 - .byte 0xA5, 0x00, 0x02, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00 - .byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00 - .byte 0xA6, 0x00, 0x01, 0x00, 0x9F, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00 - .byte 0xA4, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00 - .byte 0xA0, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00 - .byte 0xA3, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00 - .byte 0xAE, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00 - .byte 0xA8, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00 - .byte 0xA6, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0xA3, 0x00, 0x01, 0x00 - .byte 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00 - .byte 0x96, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0x97, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00 - .byte 0xA0, 0x00, 0x01, 0x00, 0xA1, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00 - .byte 0x9F, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00 - .byte 0xA1, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xA0, 0x00, 0x02, 0x00, 0xA1, 0x00, 0x02, 0x00 - .byte 0xA2, 0x00, 0x02, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x03, 0x00 - .byte 0xA6, 0x00, 0x03, 0x00, 0xA7, 0x00, 0x03, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00 - .byte 0xAC, 0x00, 0x02, 0x00, 0xAC, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0xAA, 0x00, 0x01, 0x00 - .byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00 - .byte 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00 - .byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00 - .byte 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x9A, 0x00, 0x01, 0x00 - .byte 0xAB, 0x00, 0x02, 0x00, 0xAD, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00 - .byte 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00 - - .data - .bss diff --git a/arm9/modules/52/include/module_52.h b/arm9/modules/52/include/module_52.h new file mode 100644 index 00000000..4c47a82d --- /dev/null +++ b/arm9/modules/52/include/module_52.h @@ -0,0 +1,42 @@ +#ifndef POKEDIAMOND_MODULE_52_H +#define POKEDIAMOND_MODULE_52_H + +#include "global.h" +#include "event_data.h" +#include "main.h" +#include "math_util.h" +#include "options.h" +#include "overlay_manager.h" +#include "player_data.h" +#include "sav_system_info.h" +#include "save_block_2.h" +#include "unk_02024E64.h" +#include "unk_020286F8.h" + +const u8 MOD52_021D76F8[]; + +THUMB_FUNC int MOD52_021D74E0(); +THUMB_FUNC int MOD52_021D74F8(struct UnkStruct_02006234 *param0); +THUMB_FUNC int MOD52_021D750C(); + +THUMB_FUNC int MOD52_021D7528(); +THUMB_FUNC int MOD52_021D7540(struct UnkStruct_02006234 *param0); +THUMB_FUNC int MOD52_021D7560(); + +THUMB_FUNC int MOD52_021D757C(); +THUMB_FUNC int MOD52_021D7594(struct UnkStruct_02006234 *param0); +THUMB_FUNC int MOD52_021D75E8(); + +THUMB_FUNC void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *sav2, BOOL set_trainerid); +THUMB_FUNC void MOD52_021D7688(u32 param0, struct SaveBlock2 *sav2); +THUMB_FUNC void MOD52_021D769C(u32 param0, struct SaveBlock2 *sav2); + +struct MOD52_Struct +{ + int (*func1)(void); + int (*func2)(struct UnkStruct_02006234 *param0); + int (*func3)(void); + u32 terminator; +}; + +#endif // POKEDIAMOND_MODULE_52_H
\ No newline at end of file diff --git a/arm9/modules/52/src/module_52.c b/arm9/modules/52/src/module_52.c new file mode 100644 index 00000000..8b00f613 --- /dev/null +++ b/arm9/modules/52/src/module_52.c @@ -0,0 +1,647 @@ +#include "module_52.h" + +extern struct Unk21DBE18 UNK_020FD144; +extern struct Unk21DBE18 UNK_020F2B7C; +extern struct Unk21DBE18 UNK_020F2B8C; + +extern void FUN_0201681C(u32 param0, u32 heap_id, u32 param2); +extern int FUN_020168D0(u32 heap_id); +extern void FUN_02015E3C(struct IGT *igt); +extern void FUN_0206007C(struct SaveBlock2 *sav2); +extern int FUN_02053678(u32 random, u32 gender, u32 param2); +extern void FUN_020250C4(void *sav_ptr, u32 heap_id, const u8 param2[], u32 param3); +extern void FUN_020377E0(struct SaveBlock2 *sav2); +extern void FUN_0205ECD4(struct ScriptState *script_state); + +THUMB_FUNC int MOD52_021D74E0() +{ + FUN_0201681C(3, 0x4d, 2 << 16); + InitializeMainRNG(); + + return 1; +} + +THUMB_FUNC int MOD52_021D74F8(struct UnkStruct_02006234 *param0) +{ + struct SaveBlock2 *sav2 = (struct SaveBlock2 *)OverlayManager_GetField18(param0)[2]; // weird + + MOD52_021D769C(0x4d, sav2); + + return 1; +} + +THUMB_FUNC int MOD52_021D750C() +{ + FUN_020168D0(0x4d); + RegisterMainOverlay(0XFFFFFFFF, &UNK_020FD144); + + return 1; +} + +THUMB_FUNC int MOD52_021D7528() +{ + FUN_0201681C(3, 0x4d, 2 << 16); + InitializeMainRNG(); + + return 1; +} + +THUMB_FUNC int MOD52_021D7540(struct UnkStruct_02006234 *param0) +{ + struct SaveBlock2 *sav2 = (struct SaveBlock2 *)OverlayManager_GetField18(param0)[2]; // weird + + MOD52_021D7604(0x4d, sav2, 1); + struct IGT *igt = Sav2_PlayerData_GetIGTAddr(sav2); + FUN_02015E3C(igt); + + return 1; +} + +THUMB_FUNC int MOD52_021D7560() +{ + FUN_020168D0(0x4d); + RegisterMainOverlay(0xFFFFFFFF, &UNK_020F2B7C); + + return 1; +} + +THUMB_FUNC int MOD52_021D757C() +{ + FUN_0201681C(3, 0x4d, 2 << 16); + InitializeMainRNG(); + + return 1; +} + +THUMB_FUNC int MOD52_021D7594(struct UnkStruct_02006234 *param0) +{ + struct SaveBlock2 *sav2 = (struct SaveBlock2 *)OverlayManager_GetField18(param0)[2]; // weird + + struct SavSysInfo *sav2_info = Sav2_SysInfo_get(sav2); + + MOD52_021D7688(0x4d, sav2); + Options_SetButtonModeOnMain(sav2, 0); + + if (!Sav2_SysInfo_MacAddressIsMine(sav2_info) || !Sav2_SysInfo_RTCOffsetIsMine(sav2_info)) + { + FUN_020238A4(Sav2_SysInfo_RTC_get(sav2)); + Sav2_SysInfo_InitFromSystem(sav2_info); + } + + FUN_02015E3C(Sav2_PlayerData_GetIGTAddr(sav2)); + + return 1; +} + +THUMB_FUNC int MOD52_021D75E8() +{ + FUN_020168D0(0x4d); + RegisterMainOverlay(0XFFFFFFFF, &UNK_020F2B8C); + + return 1; +} + +THUMB_FUNC void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *sav2, BOOL set_trainerid) +{ + Sav2_SysInfo_InitFromSystem(Sav2_SysInfo_get(sav2)); + Sav2_SysInfo_RTC_init(Sav2_SysInfo_RTC_get(sav2)); + + struct UnkSaveStruct_020286F8 *unk_sav2 = FUN_0202881C(sav2); + + FUN_02028788(unk_sav2, 1, MTRandom()); + FUN_0206007C(sav2); + + struct PlayerData *player_data = Sav2_PlayerData_GetProfileAddr(sav2); + u32 trainerid = MTRandom(); + + if (set_trainerid) + { + PlayerProfile_SetTrainerID(player_data, trainerid); + } + + u32 gender = PlayerProfile_GetTrainerGender(player_data); + int avatar = FUN_02053678(trainerid, gender, 0); + + PlayerProfile_SetAvatar(player_data, (u8)avatar); + + FUN_020250C4(FUN_02024ECC(sav2), heap_id, MOD52_021D76F8, 0x76); +} + +THUMB_FUNC void MOD52_021D7688(u32 unused, struct SaveBlock2 *sav2) +{ +#pragma unused(unused) + + if (FUN_020226FC(sav2)) + { + return; + } + + OS_ResetSystem(0); +} + +THUMB_FUNC void MOD52_021D769C(u32 unused, struct SaveBlock2 *sav2) +{ +#pragma unused(unused) + + Sav2_InitDynamicRegion(sav2); + FUN_020377E0(sav2); + struct PlayerData *player_data = Sav2_PlayerData_GetProfileAddr(sav2); + PlayerProfile_SetMoney(player_data, 3000); + FUN_0205ECD4(SavArray_Flags_get(sav2)); +} + +const struct MOD52_Struct MOD52_021D76C8 = { + MOD52_021D757C, + MOD52_021D7594, + MOD52_021D75E8, + 0xFFFFFFFF, +}; + +const struct MOD52_Struct MOD52_021D76D8 = { + MOD52_021D7528, + MOD52_021D7540, + MOD52_021D7560, + 0xFFFFFFFF, +}; + +const struct MOD52_Struct MOD52_021D76E8 = { + MOD52_021D74E0, + MOD52_021D74F8, + MOD52_021D750C, + 0xFFFFFFFF, +}; + +const u8 MOD52_021D76F8[] = { + 0x9B, + 0x00, + 0x01, + 0x00, + 0x95, + 0x00, + 0x01, + 0x00, + 0x96, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x01, + 0x00, + 0x9B, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x01, + 0x00, + 0xA4, + 0x00, + 0x02, + 0x00, + 0xA5, + 0x00, + 0x02, + 0x00, + 0x95, + 0x00, + 0x01, + 0x00, + 0x9B, + 0x00, + 0x02, + 0x00, + 0x9E, + 0x00, + 0x01, + 0x00, + 0xA7, + 0x00, + 0x02, + 0x00, + 0xA7, + 0x00, + 0x02, + 0x00, + 0xAA, + 0x00, + 0x01, + 0x00, + 0x95, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x01, + 0x00, + 0x9B, + 0x00, + 0x01, + 0x00, + 0x9B, + 0x00, + 0x01, + 0x00, + 0x98, + 0x00, + 0x01, + 0x00, + 0x98, + 0x00, + 0x01, + 0x00, + 0xA4, + 0x00, + 0x01, + 0x00, + 0xA4, + 0x00, + 0x01, + 0x00, + 0x95, + 0x00, + 0x01, + 0x00, + 0x9B, + 0x00, + 0x01, + 0x00, + 0x9B, + 0x00, + 0x01, + 0x00, + 0xA5, + 0x00, + 0x01, + 0x00, + 0xA6, + 0x00, + 0x02, + 0x00, + 0xA4, + 0x00, + 0x02, + 0x00, + 0xA5, + 0x00, + 0x02, + 0x00, + 0xA8, + 0x00, + 0x02, + 0x00, + 0x9A, + 0x00, + 0x01, + 0x00, + 0x96, + 0x00, + 0x01, + 0x00, + 0xA4, + 0x00, + 0x01, + 0x00, + 0xA4, + 0x00, + 0x01, + 0x00, + 0x9C, + 0x00, + 0x01, + 0x00, + 0xA6, + 0x00, + 0x01, + 0x00, + 0xA6, + 0x00, + 0x01, + 0x00, + 0x9F, + 0x00, + 0x01, + 0x00, + 0x99, + 0x00, + 0x01, + 0x00, + 0x99, + 0x00, + 0x01, + 0x00, + 0xA4, + 0x00, + 0x01, + 0x00, + 0xA8, + 0x00, + 0x01, + 0x00, + 0x9E, + 0x00, + 0x01, + 0x00, + 0x96, + 0x00, + 0x01, + 0x00, + 0xA0, + 0x00, + 0x01, + 0x00, + 0xA2, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x01, + 0x00, + 0x99, + 0x00, + 0x01, + 0x00, + 0xA3, + 0x00, + 0x01, + 0x00, + 0xAD, + 0x00, + 0x01, + 0x00, + 0x9E, + 0x00, + 0x01, + 0x00, + 0x99, + 0x00, + 0x01, + 0x00, + 0xAE, + 0x00, + 0x01, + 0x00, + 0x9D, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x01, + 0x00, + 0xA8, + 0x00, + 0x01, + 0x00, + 0xA8, + 0x00, + 0x01, + 0x00, + 0xA8, + 0x00, + 0x01, + 0x00, + 0x9C, + 0x00, + 0x01, + 0x00, + 0x9C, + 0x00, + 0x01, + 0x00, + 0xA6, + 0x00, + 0x01, + 0x00, + 0xA6, + 0x00, + 0x01, + 0x00, + 0xA2, + 0x00, + 0x01, + 0x00, + 0xA3, + 0x00, + 0x01, + 0x00, + 0x98, + 0x00, + 0x01, + 0x00, + 0x98, + 0x00, + 0x01, + 0x00, + 0x95, + 0x00, + 0x01, + 0x00, + 0x9E, + 0x00, + 0x01, + 0x00, + 0x96, + 0x00, + 0x01, + 0x00, + 0xA9, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x02, + 0x00, + 0xA5, + 0x00, + 0x02, + 0x00, + 0xA0, + 0x00, + 0x01, + 0x00, + 0xA1, + 0x00, + 0x01, + 0x00, + 0x98, + 0x00, + 0x01, + 0x00, + 0x9C, + 0x00, + 0x01, + 0x00, + 0x9F, + 0x00, + 0x01, + 0x00, + 0xA8, + 0x00, + 0x02, + 0x00, + 0x9A, + 0x00, + 0x01, + 0x00, + 0x97, + 0x00, + 0x01, + 0x00, + 0xA1, + 0x00, + 0x01, + 0x00, + 0xAC, + 0x00, + 0x01, + 0x00, + 0xA0, + 0x00, + 0x02, + 0x00, + 0xA1, + 0x00, + 0x02, + 0x00, + 0xA2, + 0x00, + 0x02, + 0x00, + 0xAB, + 0x00, + 0x01, + 0x00, + 0x9E, + 0x00, + 0x02, + 0x00, + 0xA5, + 0x00, + 0x03, + 0x00, + 0xA6, + 0x00, + 0x03, + 0x00, + 0xA7, + 0x00, + 0x03, + 0x00, + 0xA9, + 0x00, + 0x01, + 0x00, + 0xA9, + 0x00, + 0x01, + 0x00, + 0xAC, + 0x00, + 0x02, + 0x00, + 0xAC, + 0x00, + 0x02, + 0x00, + 0xAA, + 0x00, + 0x01, + 0x00, + 0xAA, + 0x00, + 0x01, + 0x00, + 0xAE, + 0x00, + 0x01, + 0x00, + 0xAE, + 0x00, + 0x01, + 0x00, + 0xAB, + 0x00, + 0x01, + 0x00, + 0xAB, + 0x00, + 0x01, + 0x00, + 0xA9, + 0x00, + 0x01, + 0x00, + 0xA9, + 0x00, + 0x01, + 0x00, + 0xAC, + 0x00, + 0x01, + 0x00, + 0xAC, + 0x00, + 0x01, + 0x00, + 0xAE, + 0x00, + 0x01, + 0x00, + 0xAE, + 0x00, + 0x01, + 0x00, + 0xAD, + 0x00, + 0x01, + 0x00, + 0xAD, + 0x00, + 0x01, + 0x00, + 0xAB, + 0x00, + 0x01, + 0x00, + 0xAB, + 0x00, + 0x01, + 0x00, + 0x9D, + 0x00, + 0x01, + 0x00, + 0x9A, + 0x00, + 0x01, + 0x00, + 0xAB, + 0x00, + 0x02, + 0x00, + 0xAD, + 0x00, + 0x02, + 0x00, + 0xAA, + 0x00, + 0x02, + 0x00, + 0xAA, + 0x00, + 0x02, + 0x00, + 0xAD, + 0x00, + 0x01, + 0x00, + 0xAD, + 0x00, + 0x01, + 0x00, +};
\ No newline at end of file diff --git a/include/event_data.h b/include/event_data.h index e1d46348..1f0f090a 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_STATE_H #define GUARD_SCRIPT_STATE_H +#include "save_block_2.h" + struct ScriptState { u16 vars[288]; |